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