[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code
From: |
Programmingkid |
Subject: |
Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code |
Date: |
Fri, 25 Sep 2015 15:58:16 -0400 |
On Sep 25, 2015, at 2:53 PM, Peter Maydell wrote:
> On 25 September 2015 at 11:24, Programmingkid <address@hidden> wrote:
>
>> I don't think Mac OS X adds the -psn argument anymore. It might have
>> in the past, but I don't see any sign of it on Mac OS 10.6. I made
>> a test program and launched it from both the terminal and the Finder.
>> I didn't see the -psn argument.
>
> Hmm, you're right. Googling suggests that the -psn argument is added
> only if the program is in an 'application bundle' (ie not just a
> bare executable).
>
> So that means we can't easily distinguish being run from the GUI
> vs from the command line, which means we don't have a convenient
> way to check for whether we should bring up that dialog box.
>
> I think that brings us back to somewhere near your first patch --
> just remove the dialog box code. If anybody is somehow running
> QEMU in an application bundle they'll let us know that it's broken,
> I'm sure :-)
>
> Sorry for all the back-and-forth on this patch. Can you send out
> a v3 that goes back to that approach, please?
>
> -- PMM
I think you want this patch (the original one):
Subject: [PATCH] ui/cocoa.m: remove open dialog code
Removes the open dialog code that runs when no arguments are supplied with QEMU.
Not everyone needs a hard drive or cdrom to boot their target. A user might only
need to use their target's bios to do work. With that said, this patch removes
the unneeded open dialog code.
Signed-off-by: John Arbuckle <address@hidden>
---
ui/cocoa.m | 56 ++------------------------------------------------------
1 files changed, 2 insertions(+), 54 deletions(-)
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 334e6f6..1dc9bc6 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -814,7 +814,6 @@ QemuCocoaView *cocoaView;
{
}
- (void)startEmulationWithArgc:(int)argc argv:(char**)argv;
-- (void)openPanelDidEnd:(NSOpenPanel *)sheet returnCode:(NSInteger)returnCode
contextInfo:(void *)contextInfo;
- (void)doToggleFullScreen:(id)sender;
- (void)toggleFullScreen:(id)sender;
- (void)showQEMUDoc:(id)sender;
@@ -895,29 +894,8 @@ QemuCocoaView *cocoaView;
- (void)applicationDidFinishLaunching: (NSNotification *) note
{
COCOA_DEBUG("QemuCocoaAppController: applicationDidFinishLaunching\n");
-
- // Display an open dialog box if no arguments were passed or
- // if qemu was launched from the finder ( the Finder passes "-psn" )
- if( gArgc <= 1 || strncmp ((char *)gArgv[1], "-psn", 4) == 0) {
- NSOpenPanel *op = [[NSOpenPanel alloc] init];
- [op setPrompt:@"Boot image"];
- [op setMessage:@"Select the disk image you want to boot.\n\nHit the
\"Cancel\" button to quit"];
-#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
- [op setAllowedFileTypes:supportedImageFileTypes];
- [op beginSheetModalForWindow:normalWindow
- completionHandler:^(NSInteger returnCode)
- { [self openPanelDidEnd:op
- returnCode:returnCode contextInfo:NULL ]; } ];
-#else
- // Compatibility code for pre-10.6, using deprecated method
- [op beginSheetForDirectory:nil file:nil types:filetypes
- modalForWindow:normalWindow modalDelegate:self
-
didEndSelector:@selector(openPanelDidEnd:returnCode:contextInfo:)
contextInfo:NULL];
-#endif
- } else {
- // or launch QEMU, with the global args
- [self startEmulationWithArgc:gArgc argv:(char **)gArgv];
- }
+ // launch QEMU, with the global args
+ [self startEmulationWithArgc:gArgc argv:(char **)gArgv];
}
- (void)applicationWillTerminate:(NSNotification *)aNotification
@@ -942,36 +920,6 @@ QemuCocoaView *cocoaView;
exit(status);
}
-- (void)openPanelDidEnd:(NSOpenPanel *)sheet returnCode:(NSInteger)returnCode
contextInfo:(void *)contextInfo
-{
- COCOA_DEBUG("QemuCocoaAppController: openPanelDidEnd\n");
-
- /* The NSFileHandlingPanelOKButton/NSFileHandlingPanelCancelButton values
for
- * returnCode strictly only apply for the 10.6-and-up
beginSheetModalForWindow
- * API. For the legacy pre-10.6 beginSheetForDirectory API they are
NSOKButton
- * and NSCancelButton. However conveniently the values are the same.
- * We use the non-legacy names because the others are deprecated in OSX
10.10.
- */
- if (returnCode == NSFileHandlingPanelCancelButton) {
- exit(0);
- } else if (returnCode == NSFileHandlingPanelOKButton) {
- char *img = (char*)[ [ [ sheet URL ] path ]
cStringUsingEncoding:NSASCIIStringEncoding];
-
- char **argv = g_new(char *, 4);
-
- [sheet close];
-
- argv[0] = g_strdup(gArgv[0]);
- argv[1] = g_strdup("-hda");
- argv[2] = g_strdup(img);
- argv[3] = NULL;
-
- // printf("Using argc %d argv %s -hda %s\n", 3, gArgv[0], img);
-
- [self startEmulationWithArgc:3 argv:(char**)argv];
- }
-}
-
/* We abstract the method called by the Enter Fullscreen menu item
* because Mac OS 10.7 and higher disables it. This is because of the
* menu item's old selector's name toggleFullScreen:
--
1.7.5.4
- [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code, Programmingkid, 2015/09/23
- Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code, Peter Maydell, 2015/09/25
- Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code, Programmingkid, 2015/09/25
- Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code, Peter Maydell, 2015/09/25
- Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code, Programmingkid, 2015/09/25
- Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code, Peter Maydell, 2015/09/25
- Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code,
Programmingkid <=
- Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code, Peter Maydell, 2015/09/25
- Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code, Programmingkid, 2015/09/25
- Re: [Qemu-devel] [PATCH v2] ui/cocoa.m: remove open dialog code, Peter Maydell, 2015/09/25