Skip to content

Commit

Permalink
Merge pull request #84 from andersio/status-item-toggle-v3
Browse files Browse the repository at this point in the history
Status Item Toggle to fix #76
  • Loading branch information
stonesam92 committed Oct 2, 2015
2 parents ac19d23 + 6e637e8 commit 55b4b12
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 4 deletions.
23 changes: 22 additions & 1 deletion WhatsMac/AppDelegate.m
Expand Up @@ -7,11 +7,14 @@
@import WebKit;
@import Sparkle;

NSString* const WAMShouldHideStatusItem = @"WAMShouldHideStatusItem";

@interface AppDelegate () <NSWindowDelegate, WKNavigationDelegate, WKUIDelegate, WKScriptMessageHandler, NSUserNotificationCenterDelegate>
@property (strong, nonatomic) NSWindow *window;
@property (strong, nonatomic) WKWebView *webView;
@property (strong, nonatomic) NSView* titlebarView;
@property (strong, nonatomic) NSStatusItem *statusItem;
@property (weak) IBOutlet NSMenuItem *statusItemToggle;
@property (weak, nonatomic) NSWindow *legal;
@property (weak, nonatomic) NSWindow *faq;
@property (strong, nonatomic) NSString *notificationCount;
Expand Down Expand Up @@ -74,7 +77,13 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
_titlebarView = [_window standardWindowButton:NSWindowCloseButton].superview;
[self updateWindowTitlebar];

[self createStatusItem];
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:WAMShouldHideStatusItem]];
if( ![defaults boolForKey:WAMShouldHideStatusItem] ) {
[self createStatusItem];
} else {
[self.statusItemToggle setTitle:@"Show Status Icon"];
}

_webView = [[WAMWebView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)
configuration:[self webViewConfig]];
Expand Down Expand Up @@ -135,6 +144,18 @@ - (void)createStatusItem {
self.statusItem.action = @selector(showAppWindow:);
}

- (IBAction)toggleStatusItem:(id)sender {
if( self.statusItem != nil ) {
self.statusItem = nil;
[self.statusItemToggle setTitle:@"Show Status Icon"];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:WAMShouldHideStatusItem];
} else {
[self createStatusItem];
[self.statusItemToggle setTitle:@"Hide Status Icon"];
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:WAMShouldHideStatusItem];
}
}

- (void)showAppWindow:(id)sender {
[NSApp activateIgnoringOtherApps:YES];
}
Expand Down
16 changes: 13 additions & 3 deletions WhatsMac/MainMenu.xib
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9052" systemVersion="15A284" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7702"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9052"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
Expand All @@ -11,7 +11,11 @@
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customObject id="dKU-pJ-OAl" customClass="AppDelegate"/>
<customObject id="dKU-pJ-OAl" customClass="AppDelegate">
<connections>
<outlet property="statusItemToggle" destination="rhL-VI-tpz" id="tFQ-eD-I3F"/>
</connections>
</customObject>
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
<customObject id="G8N-Ob-zSb" customClass="SUUpdater"/>
<menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
Expand All @@ -26,6 +30,12 @@
<action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
</connections>
</menuItem>
<menuItem title="Hide Status Item" id="rhL-VI-tpz">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleStatusItem:" target="dKU-pJ-OAl" id="5Rb-bX-Jxw"/>
</connections>
</menuItem>
<menuItem title="Check For Updates..." id="DqK-XA-zln">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
Expand Down

0 comments on commit 55b4b12

Please sign in to comment.