mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-10-14 02:17:36 +08:00
Mac OS X: Also add "Start new instance" to popup menu on app icon
This commit is contained in:
@@ -196,6 +196,14 @@ void menu_macosx_set_menuobj(DOSBoxMenu *new_altMenu) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)DOSBoxXMenuActionNewInstance:(id)sender
|
||||||
|
{
|
||||||
|
(void)sender;
|
||||||
|
if (is_paused || MAPPER_IsRunning() || GUI_IsRunning()) return;
|
||||||
|
void NewInstanceEvent(bool pressed);
|
||||||
|
NewInstanceEvent(true);
|
||||||
|
}
|
||||||
|
|
||||||
- (void)DOSBoxXMenuActionMapper:(id)sender
|
- (void)DOSBoxXMenuActionMapper:(id)sender
|
||||||
{
|
{
|
||||||
(void)sender;
|
(void)sender;
|
||||||
@@ -469,6 +477,30 @@ void macosx_init_dock_menu(void) {
|
|||||||
[item release];
|
[item release];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
bool enable = false;
|
||||||
|
extern std::string MacOSXEXEPath;
|
||||||
|
if (!MacOSXEXEPath.empty()) {
|
||||||
|
if (MacOSXEXEPath.at(0) == '/') {
|
||||||
|
enable = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enable) {
|
||||||
|
{
|
||||||
|
NSMenuItem *item = [NSMenuItem separatorItem];
|
||||||
|
[menu addItem:item];
|
||||||
|
[item release];
|
||||||
|
}
|
||||||
|
|
||||||
|
NSString *title = [[NSString alloc] initWithUTF8String: "Start new instance"];
|
||||||
|
NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:title action:@selector(DOSBoxXMenuActionNewInstance:) keyEquivalent:@""];
|
||||||
|
[menu addItem:item];
|
||||||
|
[title release];
|
||||||
|
[item release];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sdl1_hax_set_dock_menu(menu);
|
sdl1_hax_set_dock_menu(menu);
|
||||||
|
|
||||||
[menu release];
|
[menu release];
|
||||||
|
@@ -1637,7 +1637,7 @@ bool CheckQuit(void) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void NewInstanceEvent(bool pressed) {
|
void NewInstanceEvent(bool pressed) {
|
||||||
if (!pressed) return;
|
if (!pressed) return;
|
||||||
#if defined(MACOSX)
|
#if defined(MACOSX)
|
||||||
pid_t p = fork();
|
pid_t p = fork();
|
||||||
|
Reference in New Issue
Block a user