summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-08-02 13:15:38 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-08-02 13:18:16 (GMT)
commit475cec615cda74aa34d9519239e2f627256ef71d (patch)
treef70c4d7ffb221eefd2b31a38ff1b948ad0faab1a /Slimber/Cocoa/CocoaMenulet.mm
parent04d48741240c61d75933d24084915a98d257d444 (diff)
downloadswift-475cec615cda74aa34d9519239e2f627256ef71d.zip
swift-475cec615cda74aa34d9519239e2f627256ef71d.tar.bz2
Created a generic CocoaAction.
Diffstat (limited to 'Slimber/Cocoa/CocoaMenulet.mm')
-rw-r--r--Slimber/Cocoa/CocoaMenulet.mm13
1 files changed, 8 insertions, 5 deletions
diff --git a/Slimber/Cocoa/CocoaMenulet.mm b/Slimber/Cocoa/CocoaMenulet.mm
index f9981e0..72ab000 100644
--- a/Slimber/Cocoa/CocoaMenulet.mm
+++ b/Slimber/Cocoa/CocoaMenulet.mm
@@ -1,9 +1,12 @@
#include "Slimber/Cocoa/CocoaMenulet.h"
+#include <boost/function.hpp>
+
using namespace Swift;
CocoaMenulet::CocoaMenulet() {
- delegate = [[CocoaMenuletDelegate alloc] initWithMenulet: this];
+ restartAction = [[CocoaAction alloc] initWithFunction:
+ new boost::function<void()>(boost::ref(onRestartClicked))];
menu = [[NSMenu alloc] init];
statusItem = [[[NSStatusBar systemStatusBar]
@@ -15,10 +18,9 @@ CocoaMenulet::CocoaMenulet() {
}
CocoaMenulet::~CocoaMenulet() {
- [delegate release];
[statusItem release];
[menu release];
- [delegate release];
+ [restartAction release];
}
void CocoaMenulet::setIcon(const String& icon) {
@@ -58,8 +60,9 @@ void CocoaMenulet::addAboutItem() {
}
void CocoaMenulet::addRestartItem() {
- NSMenuItem* item = [[NSMenuItem alloc] initWithTitle: @"Restart" action: @selector(handleRestartClicked:) keyEquivalent: @""];
- [item setTarget: delegate];
+ NSMenuItem* item = [[NSMenuItem alloc] initWithTitle:
+ @"Restart" action: @selector(doAction:) keyEquivalent: @""];
+ [item setTarget: restartAction];
[menu addItem: item];
[item release];
}