ref: d90e909d66d6c3691215f8ea6ed8fa07cccd9c45
parent: 5b695b8d8bac1dca52a696cfa8207311ca28af47
author: Simon Tatham <[email protected]>
date: Mon Jan 24 02:42:01 EST 2005
Added a dock menu which makes it more convenient to launch a new game window. [originally from svn r5184]
--- a/osx.m
+++ b/osx.m
@@ -10,11 +10,6 @@
* think help is HTML round here anyway so perhaps we can work
* with what we already have.
*
- * - Can we arrange for a pop-up menu from the Dock icon which
- * launches specific games, perhaps?
- * + apparently we can; see the NSApplication method
- * `applicationDockMenu:'. Good good. Do so.
- *
* - Why are the right and bottom edges of the Pattern grid one
* pixel thinner than they should be?
*
@@ -1105,6 +1100,23 @@
[win makeKeyAndOrderFront:self];
}
+- (NSMenu *)applicationDockMenu:(NSApplication *)sender
+{
+ NSMenu *menu = newmenu("Dock Menu");
+ {
+ int i;
+
+ for (i = 0; i < gamecount; i++) {
+ id item =
+ initnewitem([DataMenuItem allocWithZone:[NSMenu menuZone]],
+ menu, gamelist[i]->name, "", self,
+ @selector(newGame:));
+ [item setPayload:(void *)gamelist[i]];
+ }
+ }
+ return menu;
+}
+
@end
/* ----------------------------------------------------------------------
@@ -1125,6 +1137,7 @@
[NSApp setApplicationIconImage:icon];
controller = [[[AppController alloc] init] autorelease];
+ [NSApp setDelegate:controller];
[NSApp setMainMenu: newmenu("Main Menu")];