Start/Stop button changes icon and connection status
Change-Id: I5bbc6be48ec4877272f91dc103602ee5259228b2
diff --git a/osx/MainMenu.xib b/osx/MainMenu.xib
index d470966..5ebd3ef 100644
--- a/osx/MainMenu.xib
+++ b/osx/MainMenu.xib
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
- <deployment defaultVersion="1080" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="4510"/>
</dependencies>
<objects>
@@ -17,7 +16,6 @@
<outlet property="connectionStatus" destination="yhj-L6-nZL" id="v5Y-5B-2aW"/>
<outlet property="daemonStatus" destination="Tap-5m-ZRP" id="yrK-Nr-zKm"/>
<outlet property="routingStatus" destination="Vc8-fu-RAY" id="GVC-zB-uSO"/>
- <outlet property="startstopButton" destination="TvT-OR-oT4" id="kEH-ls-jDL"/>
<outlet property="statusMenu" destination="ovl-jc-kIR" id="dlz-Qz-Ia0"/>
<outlet property="statusPopover" destination="eAA-vc-IW1" id="bD5-Rp-Syx"/>
<outlet property="trafficMap" destination="6tC-sG-tLM" id="rxz-Jt-3au"/>
@@ -25,11 +23,14 @@
</customObject>
<menu id="ovl-jc-kIR">
<items>
- <menuItem title="Connected" id="yhj-L6-nZL">
+ <menuItem title="NDN disconnected" id="yhj-L6-nZL">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
- <menuItem title="Stop" id="TvT-OR-oT4">
+ <menuItem title="Start" id="TvT-OR-oT4">
<modifierMask key="keyEquivalentModifierMask"/>
+ <connections>
+ <action selector="switchDaemon:" target="494" id="kgm-Z4-mQz"/>
+ </connections>
</menuItem>
<menuItem title="Status" id="Tap-5m-ZRP">
<modifierMask key="keyEquivalentModifierMask"/>
@@ -53,6 +54,9 @@
<action selector="openTrafficMapPage:" target="494" id="eae-R6-kYb"/>
</connections>
</menuItem>
+ <menuItem title="Preferences" id="c5x-Oa-5tb">
+ <modifierMask key="keyEquivalentModifierMask"/>
+ </menuItem>
</items>
</menu>
<viewController id="QoL-hX-ilM" userLabel="Popover View Controller">
diff --git a/osx/Resources/FlatConnected.png b/osx/Resources/FlatConnected.png
new file mode 100644
index 0000000..3ce424f
--- /dev/null
+++ b/osx/Resources/FlatConnected.png
Binary files differ
diff --git a/osx/Resources/FlatDisconnected.png b/osx/Resources/FlatDisconnected.png
new file mode 100644
index 0000000..0670f42
--- /dev/null
+++ b/osx/Resources/FlatDisconnected.png
Binary files differ
diff --git a/osx/menu-delegate.h b/osx/menu-delegate.h
index 429e6ea..578a4a5 100644
--- a/osx/menu-delegate.h
+++ b/osx/menu-delegate.h
@@ -21,8 +21,11 @@
IBOutlet NSMenuItem *daemonStatus;
IBOutlet NSMenuItem *routingStatus;
IBOutlet NSMenuItem *trafficMap;
+
+ BOOL daemonStarted;
}
+-(IBAction)switchDaemon:(id)sender;
-(IBAction)openDaemonStatus:(id)sender;
-(IBAction)openRoutingStatusPage:(id)sender;
-(IBAction)openTrafficMapPage:(id)sender;
diff --git a/osx/menu-delegate.mm b/osx/menu-delegate.mm
index a425af2..35e3881 100644
--- a/osx/menu-delegate.mm
+++ b/osx/menu-delegate.mm
@@ -26,10 +26,38 @@
//[statusItem setTarget:self];
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
- NSString *path = [bundle pathForResource:@"IconDisconnected" ofType:@"png"];
+ NSString *path = [bundle pathForResource:@"FlatDisconnected" ofType:@"png"];
menuIcon = [[NSImage alloc] initWithContentsOfFile:path];
[statusItem setTitle:@""];
[statusItem setImage:menuIcon];
+
+ daemonStarted = false;
+}
+
+-(IBAction)switchDaemon:(id)sender
+{
+ if (daemonStarted)
+ {
+ daemonStarted = false;
+ [sender setTitle:@"Start"];
+ [connectionStatus setTitle:@"NDN disconnected"];
+
+ NSBundle *bundle = [NSBundle bundleForClass:[self class]];
+ NSString *path = [bundle pathForResource:@"FlatDisconnected" ofType:@"png"];
+ menuIcon = [[NSImage alloc] initWithContentsOfFile:path];
+ [statusItem setImage:menuIcon];
+ }
+ else
+ {
+ daemonStarted = true;
+ [sender setTitle:@"Stop"];
+ [connectionStatus setTitle:@"NDN connected"];
+
+ NSBundle *bundle = [NSBundle bundleForClass:[self class]];
+ NSString *path = [bundle pathForResource:@"FlatConnected" ofType:@"png"];
+ menuIcon = [[NSImage alloc] initWithContentsOfFile:path];
+ [statusItem setImage:menuIcon];
+ }
}
-(IBAction)openDaemonStatus:(id)sender