| |
Changeset 65
- Timestamp:
- 02/23/07 22:09:51
(2 years ago)
- Author:
- cordney
- Message:
[new] preferences: log output to console (debugging) [new] export Guest PCs to FlashDrive? (standalone binary) [new [fix] added license to FSControls [new] drag and drop images on Q Control (Live CD mode) [fix] NewPCAssistant: default boot from CD-Rom for Win9x - Vista [fix] using no Harddisk at all created a new one once the PC was edited again
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r64 |
r65 |
|
| | 1 | Q-0.9.0d65 |
|---|
| | 2 | [new] preferences: log output to console (debugging) |
|---|
| | 3 | [new] import Guest PCs from FlashDrive (standalone binary) |
|---|
| | 4 | [new] export Guest PCs to FlashDrive (standalone binary) |
|---|
| | 5 | [fix] added license to FSControls |
|---|
| | 6 | [new] drag and drop diskimages on Q Control (Live CD mode) |
|---|
| | 7 | [fix] NewPCAssistant: default boot from CD-Rom for Win9x - Vista |
|---|
| | 8 | [fix] using no Harddisk at all created a new one once the PC was edited again |
|---|
| | 9 | |
|---|
| 1 | 10 | Q-0.9.0d64 |
|---|
| 2 | 11 | [fix] somewhat smarter update check :) |
|---|
| r54 |
r65 |
|
| 1 | | /* FSController */ |
|---|
| | 1 | /* |
|---|
| | 2 | * QEMU Cocoa Fullscreen Controller |
|---|
| | 3 | * |
|---|
| | 4 | * Copyright (c) 2006 René Korthaus |
|---|
| | 5 | * |
|---|
| | 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
|---|
| | 7 | * of this software and associated documentation files (the "Software"), to deal |
|---|
| | 8 | * in the Software without restriction, including without limitation the rights |
|---|
| | 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|---|
| | 10 | * copies of the Software, and to permit persons to whom the Software is |
|---|
| | 11 | * furnished to do so, subject to the following conditions: |
|---|
| | 12 | * |
|---|
| | 13 | * The above copyright notice and this permission notice shall be included in |
|---|
| | 14 | * all copies or substantial portions of the Software. |
|---|
| | 15 | * |
|---|
| | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|---|
| | 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|---|
| | 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|---|
| | 19 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|---|
| | 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|---|
| | 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|---|
| | 22 | * THE SOFTWARE. |
|---|
| | 23 | */ |
|---|
| 2 | 24 | |
|---|
| 3 | 25 | #import <Cocoa/Cocoa.h> |
|---|
| r54 |
r65 |
|
| | 1 | /* |
|---|
| | 2 | * QEMU Cocoa Fullscreen Controller |
|---|
| | 3 | * |
|---|
| | 4 | * Copyright (c) 2006 René Korthaus |
|---|
| | 5 | * |
|---|
| | 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
|---|
| | 7 | * of this software and associated documentation files (the "Software"), to deal |
|---|
| | 8 | * in the Software without restriction, including without limitation the rights |
|---|
| | 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|---|
| | 10 | * copies of the Software, and to permit persons to whom the Software is |
|---|
| | 11 | * furnished to do so, subject to the following conditions: |
|---|
| | 12 | * |
|---|
| | 13 | * The above copyright notice and this permission notice shall be included in |
|---|
| | 14 | * all copies or substantial portions of the Software. |
|---|
| | 15 | * |
|---|
| | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|---|
| | 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|---|
| | 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|---|
| | 19 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|---|
| | 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|---|
| | 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|---|
| | 22 | * THE SOFTWARE. |
|---|
| | 23 | */ |
|---|
| | 24 | |
|---|
| 1 | 25 | #import "FSController.h" |
|---|
| 2 | 26 | #import "../cocoaQemu.h" |
|---|
| r54 |
r65 |
|
| 1 | | /* FSToolbarController */ |
|---|
| | 1 | /* |
|---|
| | 2 | * QEMU Cocoa Fullscreen Toolbar Controller |
|---|
| | 3 | * |
|---|
| | 4 | * Copyright (c) 2006 René Korthaus |
|---|
| | 5 | * |
|---|
| | 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
|---|
| | 7 | * of this software and associated documentation files (the "Software"), to deal |
|---|
| | 8 | * in the Software without restriction, including without limitation the rights |
|---|
| | 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|---|
| | 10 | * copies of the Software, and to permit persons to whom the Software is |
|---|
| | 11 | * furnished to do so, subject to the following conditions: |
|---|
| | 12 | * |
|---|
| | 13 | * The above copyright notice and this permission notice shall be included in |
|---|
| | 14 | * all copies or substantial portions of the Software. |
|---|
| | 15 | * |
|---|
| | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|---|
| | 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|---|
| | 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|---|
| | 19 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|---|
| | 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|---|
| | 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|---|
| | 22 | * THE SOFTWARE. |
|---|
| | 23 | */ |
|---|
| 2 | 24 | |
|---|
| 3 | 25 | #import <Cocoa/Cocoa.h> |
|---|
| r54 |
r65 |
|
| | 1 | /* |
|---|
| | 2 | * QEMU Cocoa Fullscreen Toolbar Controller |
|---|
| | 3 | * |
|---|
| | 4 | * Copyright (c) 2006 René Korthaus |
|---|
| | 5 | * |
|---|
| | 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
|---|
| | 7 | * of this software and associated documentation files (the "Software"), to deal |
|---|
| | 8 | * in the Software without restriction, including without limitation the rights |
|---|
| | 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|---|
| | 10 | * copies of the Software, and to permit persons to whom the Software is |
|---|
| | 11 | * furnished to do so, subject to the following conditions: |
|---|
| | 12 | * |
|---|
| | 13 | * The above copyright notice and this permission notice shall be included in |
|---|
| | 14 | * all copies or substantial portions of the Software. |
|---|
| | 15 | * |
|---|
| | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|---|
| | 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|---|
| | 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|---|
| | 19 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|---|
| | 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|---|
| | 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|---|
| | 22 | * THE SOFTWARE. |
|---|
| | 23 | */ |
|---|
| | 24 | |
|---|
| 1 | 25 | #import "FSToolbarController.h" |
|---|
| 2 | 26 | #import "FSTransparentButton.h" |
|---|
| r54 |
r65 |
|
| 1 | | /* FSTransparentButton */ |
|---|
| | 1 | /* |
|---|
| | 2 | * QEMU Cocoa Fullscreen Transparent Button |
|---|
| | 3 | * |
|---|
| | 4 | * Copyright (c) 2006 René Korthaus |
|---|
| | 5 | * |
|---|
| | 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
|---|
| | 7 | * of this software and associated documentation files (the "Software"), to deal |
|---|
| | 8 | * in the Software without restriction, including without limitation the rights |
|---|
| | 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|---|
| | 10 | * copies of the Software, and to permit persons to whom the Software is |
|---|
| | 11 | * furnished to do so, subject to the following conditions: |
|---|
| | 12 | * |
|---|
| | 13 | * The above copyright notice and this permission notice shall be included in |
|---|
| | 14 | * all copies or substantial portions of the Software. |
|---|
| | 15 | * |
|---|
| | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|---|
| | 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|---|
| | 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|---|
| | 19 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|---|
| | 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|---|
| | 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|---|
| | 22 | * THE SOFTWARE. |
|---|
| | 23 | */ |
|---|
| 2 | 24 | |
|---|
| 3 | 25 | #import <Cocoa/Cocoa.h> |
|---|
| r54 |
r65 |
|
| | 1 | /* |
|---|
| | 2 | * QEMU Cocoa Fullscreen Transparent Button |
|---|
| | 3 | * |
|---|
| | 4 | * Copyright (c) 2006 René Korthaus |
|---|
| | 5 | * |
|---|
| | 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
|---|
| | 7 | * of this software and associated documentation files (the "Software"), to deal |
|---|
| | 8 | * in the Software without restriction, including without limitation the rights |
|---|
| | 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|---|
| | 10 | * copies of the Software, and to permit persons to whom the Software is |
|---|
| | 11 | * furnished to do so, subject to the following conditions: |
|---|
| | 12 | * |
|---|
| | 13 | * The above copyright notice and this permission notice shall be included in |
|---|
| | 14 | * all copies or substantial portions of the Software. |
|---|
| | 15 | * |
|---|
| | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|---|
| | 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|---|
| | 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|---|
| | 19 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|---|
| | 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|---|
| | 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|---|
| | 22 | * THE SOFTWARE. |
|---|
| | 23 | */ |
|---|
| | 24 | |
|---|
| 1 | 25 | #import "FSTransparentButton.h" |
|---|
| 2 | 26 | |
|---|
| r57 |
r65 |
|
| 26 | 26 | "shutdownPC:informativeTextWithFormat:2" = "The Guest OS is still running. If you don't save the guest PC, you may lose Data."; |
|---|
| 27 | 27 | |
|---|
| | 28 | /* cocoaQemuController */ |
|---|
| | 29 | "applicationDidFinishLaunching:alert:messageText" = "Error starting Guest PC"; |
|---|
| | 30 | "applicationDidFinishLaunching:alert:informativeText" = "The Guest PC files could not be found. The file seems to be damaged."; |
|---|
| | 31 | "applicationDidFinishLaunching:alert:defaultButton" = "OK"; |
|---|
| 28 | 32 | |
|---|
| 29 | 33 | /* cocoaQemuProgressWindow */ |
|---|
| r5 |
r65 |
|
| 43 | 43 | { |
|---|
| 44 | 44 | if( gArgc <= 1 || strncmp (gArgv[1], "-psn", 4) == 0) { |
|---|
| 45 | | NSOpenPanel *openPanel = [ [ NSOpenPanel alloc ] init ]; |
|---|
| 46 | | [ openPanel setTitle:@"Please choose a Imagefile" ]; |
|---|
| 47 | 45 | |
|---|
| 48 | | int result; |
|---|
| | 46 | if ([[NSBundle mainBundle] pathForResource:@"arguments" ofType:nil inDirectory:@"Guest"]) { |
|---|
| | 47 | /* if arguments file is found this is a standalone Guest exported from Q.app */ |
|---|
| | 48 | int i; |
|---|
| | 49 | |
|---|
| | 50 | NSFileManager * fileManager = [NSFileManager defaultManager]; |
|---|
| | 51 | NSArray * directoryContents = [fileManager directoryContentsAtPath: [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Guest"]]; |
|---|
| | 52 | NSString * qvmPath = [NSString string]; |
|---|
| | 53 | // search for .qvm package |
|---|
| | 54 | if(directoryContents != nil) { |
|---|
| | 55 | for(i=0; i < [directoryContents count]; i++) { |
|---|
| | 56 | if([[[directoryContents objectAtIndex:i] pathExtension] isEqual:@"qvm"]) { |
|---|
| | 57 | // we found it |
|---|
| | 58 | qvmPath = [[directoryContents objectAtIndex:i] lastPathComponent]; |
|---|
| | 59 | break; |
|---|
| | 60 | } |
|---|
| | 61 | } |
|---|
| | 62 | } |
|---|
| | 63 | |
|---|
| | 64 | if([qvmPath isEqual:[NSString string]]) { |
|---|
| | 65 | NSAlert *alert = [[[NSAlert alloc] init] autorelease]; |
|---|
| | 66 | [alert addButtonWithTitle: NSLocalizedStringFromTable(@"applicationDidFinishLaunching:alert:defaultButton", @"Localizable", @"cocoaQemuController")]; |
|---|
| | 67 | [alert setMessageText: NSLocalizedStringFromTable(@"applicationDidFinishLaunching:alert:messageText", @"Localizable", @"cocoaQemuController")]; |
|---|
| | 68 | [alert setInformativeText: NSLocalizedStringFromTable(@"applicationDidFinishLaunching:alert:informativeText", @"Localizable", @"cocoaQemuController")]; |
|---|
| | 69 | [alert setAlertStyle:NSWarningAlertStyle]; |
|---|
| | 70 | |
|---|
| | 71 | if ([alert runModal] == NSAlertFirstButtonReturn) { |
|---|
| | 72 | [ NSApp terminate:self ]; |
|---|
| | 73 | } |
|---|
| | 74 | } |
|---|
| | 75 | |
|---|
| | 76 | NSString * s = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"arguments" ofType:nil inDirectory:@"Guest"] encoding:NSUTF8StringEncoding error:NULL]; |
|---|
| | 77 | |
|---|
| | 78 | /* reformat arguments to array containing spaces */ |
|---|
| | 79 | NSMutableArray *arguments = [[NSMutableArray alloc] init]; |
|---|
| | 80 | /* Arguments of thisPC */ |
|---|
| | 81 | NSArray *array = [s componentsSeparatedByString:@" "]; |
|---|
| | 82 | NSMutableString *option = [[NSMutableString alloc] initWithString:@""]; |
|---|
| | 83 | NSMutableString *argument = [[NSMutableString alloc] init]; |
|---|
| | 84 | for (i = 1; i < [array count]; i++) { |
|---|
| | 85 | if ([[array objectAtIndex:i] cString][0] != '-') { //Teil eines Arguments |
|---|
| | 86 | [argument appendFormat:[NSString stringWithFormat:@" %@", [array objectAtIndex:i]]]; |
|---|
| | 87 | } else { |
|---|
| | 88 | if ([option length] > 0) { |
|---|
| | 89 | if ([argument isEqual:@""]) { |
|---|
| | 90 | [arguments addObject:[NSString stringWithString:option]]; |
|---|
| | 91 | } else { |
|---|
| | 92 | [arguments addObject:[NSString stringWithString:option]]; |
|---|
| | 93 | [arguments addObject:[NSString stringWithString:[argument substringFromIndex:1]]]; |
|---|
| | 94 | } |
|---|
| | 95 | } |
|---|
| | 96 | [option setString:[array objectAtIndex:i]]; |
|---|
| | 97 | [argument setString:@""]; |
|---|
| | 98 | } |
|---|
| | 99 | } |
|---|
| | 100 | /* last Object */ |
|---|
| | 101 | if ([argument isEqual:@""]) { |
|---|
| | 102 | [arguments addObject:[NSString stringWithString:option]]; |
|---|
| | 103 | } else { |
|---|
| | 104 | [arguments addObject:[NSString stringWithString:option]]; |
|---|
| | 105 | [arguments addObject:[NSString stringWithString:[argument substringFromIndex:1]]]; |
|---|
| | 106 | } |
|---|
| | 107 | /* end reformatting */ |
|---|
| | 108 | /* add NSBundle path to hda|hdb|hdc|hdd|fda|fdb|cdrom |
|---|
| | 109 | if(smb) change path to [NSBundle resourcePath]/Guest/Q Shared Files |
|---|
| | 110 | */ |
|---|
| | 111 | |
|---|
| | 112 | for(i=0; i < [arguments count]; i++) { |
|---|
| | 113 | if([[arguments objectAtIndex:i] isEqualTo:@"-hda"] || [[arguments objectAtIndex:i] isEqualTo:@"-hdb"] || [[arguments objectAtIndex:i] isEqualTo:@"-hdc"] || [[arguments objectAtIndex:i] isEqualTo:@"-hdd"] || [[arguments objectAtIndex:i] isEqualTo:@"-fda"] || [[arguments objectAtIndex:i] isEqualTo:@"-fdb"] || [[arguments objectAtIndex:i] isEqualTo:@"-cdrom"]) { |
|---|
| | 114 | [arguments replaceObjectAtIndex:i+1 withObject:[[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Guest"] stringByAppendingPathComponent: [qvmPath stringByAppendingPathComponent:[arguments objectAtIndex:i+1]]]]; |
|---|
| | 115 | } else if([[arguments objectAtIndex:i] isEqualTo:@"-smb"]) { |
|---|
| | 116 | BOOL isDirectory; |
|---|
| | 117 | NSString * sharedDir = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Guest/Q Shared Files"]; |
|---|
| | 118 | if(![fileManager fileExistsAtPath:sharedDir isDirectory:&isDirectory] && isDirectory) |
|---|
| | 119 | [fileManager createDirectoryAtPath:sharedDir attributes:nil]; |
|---|
| | 120 | [arguments replaceObjectAtIndex:i+1 withObject:sharedDir]; |
|---|
| | 121 | } |
|---|
| | 122 | } |
|---|
| | 123 | |
|---|
| | 124 | cocoaQemu *pc = [ [ cocoaQemu alloc ] init ]; |
|---|
| | 125 | [ pc startPCWithArgs:arguments]; |
|---|
| | 126 | [ pc release ]; |
|---|
| | 127 | } else { |
|---|
| | 128 | /* ELSE */ |
|---|
| | 129 | NSOpenPanel *openPanel = [ [ NSOpenPanel alloc ] init ]; |
|---|
| | 130 | [ openPanel setTitle:@"Please choose an Imagefile" ]; |
|---|
| 49 | 131 | |
|---|
| 50 | | result = [ openPanel runModalForDirectory:NSHomeDirectory() file:nil types:[ NSArray arrayWithObjects:@"raw",@"img",@"iso",@"dmg",@"qcow",@"cow",@"cloop",@"vmdk",nil ] ]; |
|---|
| 51 | | if (result == NSOKButton) { |
|---|
| 52 | | NSMutableArray *arguments = [ [ NSMutableArray alloc ] init ]; |
|---|
| 53 | | [ arguments addObject:@"qemu" ]; |
|---|
| 54 | | [ arguments addObject:[ openPanel filename ] ]; |
|---|
| | 132 | int result; |
|---|
| 55 | 133 | |
|---|
| 56 | | cocoaQemu *pc = [ [ cocoaQemu alloc ] init ]; |
|---|
| 57 | | [ pc startPCWithArgs:arguments]; |
|---|
| 58 | | [ pc release ]; |
|---|
| 59 | | } else { |
|---|
| 60 | | [ NSApp terminate:self ]; |
|---|
| 61 | | } |
|---|
| | 134 | result = [ openPanel runModalForDirectory:NSHomeDirectory() file:nil types:[ NSArray arrayWithObjects:@"raw",@"img",@"iso",@"dmg",@"qcow",@"qcow2",@"cow",@"cloop",@"vmdk",nil ] ]; |
|---|
| | 135 | if (result == NSOKButton) { |
|---|
| | 136 | NSMutableArray *arguments = [ [ NSMutableArray alloc ] init ]; |
|---|
| | 137 | [ arguments addObject:@"qemu" ]; |
|---|
| | 138 | [ arguments addObject:[ openPanel filename ] ]; |
|---|
| | 139 | |
|---|
| | 140 | cocoaQemu *pc = [ [ cocoaQemu alloc ] init ]; |
|---|
| | 141 | [ pc startPCWithArgs:arguments]; |
|---|
| | 142 | [ pc release ]; |
|---|
| | 143 | } else { |
|---|
| | 144 | [ NSApp terminate:self ]; |
|---|
| | 145 | } |
|---|
| | 146 | } |
|---|
| 62 | 147 | } else { |
|---|
| 63 | 148 | int i; |
|---|
| r53 |
r65 |
|
| 48 | 48 | "importQemuXPCs:informativeText:finish" = "Please check the guests prior to start them (for missing CD-Roms etc)."; |
|---|
| 49 | 49 | |
|---|
| | 50 | "exportPCToFlashDrive:savePanel:title" = "Export"; |
|---|
| | 51 | "exportPCToFlashDrive:savePanel:prompt" = "Export"; |
|---|
| | 52 | "exportPCToFlashDrive:progressPanel:title" = "Status"; |
|---|
| | 53 | "exportPCToFlashDrive:progressPanel:text" = "Export"; |
|---|
| | 54 | "exportPCToFlashDrive:progressPanel:statusText1" = "Exporting.."; |
|---|
| | 55 | "exportPCToFlashDrive:progressPanel:statusText2" = "Copying binary.."; |
|---|
| | 56 | "exportPCToFlashDrive:progressPanel:statusText3" = "Copying Guest PC.."; |
|---|
| | 57 | "exportPCToFlashDrive:progressPanel:statusText4" = "Writing Guest PC configuration.."; |
|---|
| | 58 | "exportPCToFlashDrive:progressPanel:statusText5" = "Copying additional Guest PC disk images.."; |
|---|
| | 59 | "exportPCToFlashDrive:progressPanel:statusText6" = "Finishing Guest PC configuration.."; |
|---|
| | 60 | "exportPCToFlashDrive:alert:writeToFile:messageText" = "Error writing configuration"; |
|---|
| | 61 | "exportPCToFlashDrive:alert:writeToFile:informativeText" = "The configuration file could not be written."; |
|---|
| | 62 | "exportPCToFlashDrive:alert:exportFinished:messageText" = "Export finished"; |
|---|
| | 63 | "exportPCToFlashDrive:alert:exportFinished:informativeText" = "Export of the Guest PC %@ is complete. You can now use it as a standalone application on any PowerPC or Intel Mac."; |
|---|
| | 64 | |
|---|
| | 65 | "exportThisPCToFlashDrive:standardAlert" = "The Guest PC \"%@\" can not be exported to a Flash Drive, because it is in running or saved state."; |
|---|
| | 66 | "exportThisPCToFlashDrive:informativeText" = "First shutdown the Guest PC \"%@\" then export it."; |
|---|
| | 67 | |
|---|
| | 68 | "exportThisPCToFlashDrive:alertWithMessageText" = "Exporting the Guest PC \"%@\""; |
|---|
| | 69 | "exportThisPCToFlashDrive:defaultButton" = "OK"; |
|---|
| | 70 | "exportThisPCToFlashDrive:alternateButton" = "Cancel"; |
|---|
| | 71 | "exportThisPCToFlashDrive:informativeTextWithFormat" = "The Guest PC will now be exported to run in standalone mode. This means you can take it with you on an external storage (for example on an USB Flash Drive), plug it into any Mac and run your Guest PC out of the box.\n\nPlease note that saving/loading a Guest PC state is not available in standalone mode. This does not affect your Guest PC configuration in Q."; |
|---|
| | 72 | |
|---|
| | 73 | "importPCFromFlashDrive:alert:notFound:messageText" = "Could not find Guest PC"; |
|---|
| | 74 | "importPCFromFlashDrive:alert:notFound:informativeText" = "The file seems to be an ordinary application."; |
|---|
| | 75 | "importPCFromFlashDrive:progressPanel:title" = "Status"; |
|---|
| | 76 | "importPCFromFlashDrive:progressPanel:text" = "Import"; |
|---|
| | 77 | "importPCFromFlashDrive:progressPanel:statusText1" = "Copying Guest PC.."; |
|---|
| | 78 | "importPCFromFlashDrive:alert:importFinished:messageText" = "Import finished"; |
|---|
| | 79 | "importPCFromFlashDrive:alert:importFinished:informativeText" = "Import of the Guest PC %@ is complete. You can now run it in Q."; |
|---|
| | 80 | |
|---|
| | 81 | |
|---|
| 50 | 82 | "addArgumentTo:standardAlert" = "Can't start guest PC"; |
|---|
| 51 | 83 | "addArgumentTo:informativeText" = "This configuration uses pre 0.8.0 Syntax (%@). Please remove it from the advanced tab."; |
|---|
| r45 |
r65 |
|
| 18 | 18 | deletePC = id; |
|---|
| 19 | 19 | editPC = id; |
|---|
| | 20 | exportThisPCToFlashDrive = id; |
|---|
| 20 | 21 | importQemuXPCs = id; |
|---|
| | 22 | importThisPCFromFlashDrive = id; |
|---|
| 21 | 23 | importVPC7PC = id; |
|---|
| 22 | 24 | openDIWindow = id; |
|---|
| r45 |
r65 |
|
| 8 | 8 | <dict> |
|---|
| 9 | 9 | <key>453</key> |
|---|
| 10 | | <string>332 834 286 44 0 0 1440 878 </string> |
|---|
| | 10 | <string>286 734 286 44 0 0 1280 778 </string> |
|---|
| 11 | 11 | </dict> |
|---|
| 12 | 12 | <key>IBFramework Version</key> |
|---|
| … | … | |
| 14 | 14 | <key>IBOpenObjects</key> |
|---|
| 15 | 15 | <array> |
|---|
| | 16 | <integer>546</integer> |
|---|
| 16 | 17 | <integer>21</integer> |
|---|
| 17 | 18 | <integer>453</integer> |
|---|
| 18 | | <integer>546</integer> |
|---|
| 19 | 19 | </array> |
|---|
| 20 | 20 | <key>IBSystem Version</key> |
|---|
| 21 | | <string>8J2135a</string> |
|---|
| | 21 | <string>8L2127</string> |
|---|
| 22 | 22 | <key>IBUsesTextArchiving</key> |
|---|
| 23 | 23 | <true/> |
|---|
| r45 |
r65 |
|
| 12 | 12 | <dict> |
|---|
| 13 | 13 | <key>CF$UID</key> |
|---|
| 14 | | <integer>397</integer> |
|---|
| | 14 | <integer>409</integer> |
|---|
| 15 | 15 | </dict> |
|---|
| 16 | 16 | <key>NSAccessibilityConnectors</key> |
|---|
| 17 | 17 | <dict> |
|---|
| 18 | 18 | <key>CF$UID</key> |
|---|
| 19 | | <integer>394</integer> |
|---|
| | 19 | <integer>406</integer> |
|---|
| 20 | 20 | </dict> |
|---|
| 21 | 21 | <key>NSAccessibilityOidsKeys</key> |
|---|
| 22 | 22 | <dict> |
|---|
| 23 | 23 | <key>CF$UID</key> |
|---|
| 24 | | <integer>395</integer> |
|---|
| | 24 | <integer>407</integer> |
|---|
| 25 | 25 | </dict> |
|---|
| 26 | 26 | <key>NSAccessibilityOidsValues</key> |
|---|
| 27 | 27 | <dict> |
|---|
| 28 | 28 | <key>CF$UID</key> |
|---|
| 29 | | <integer>396</integer> |
|---|
| | 29 | <integer>408</integer> |
|---|
| 30 | 30 | </dict> |
|---|
| 31 | 31 | <key>NSClassesKeys</key> |
|---|
| 32 | 32 | <dict> |
|---|
| 33 | 33 | <key>CF$UID</key> |
|---|
| 34 | | <integer>307</integer> |
|---|
| | 34 | <integer>315</integer> |
|---|
| 35 | 35 | </dict> |
|---|
| 36 | 36 | <key>NSClassesValues</key> |
|---|
| 37 | 37 | <dict> |
|---|
| 38 | 38 | <key>CF$UID</key> |
|---|
| 39 | | <integer>308</integer> |
|---|
| | 39 | <integer>316</integer> |
|---|
| 40 | 40 | </dict> |
|---|
| 41 | 41 | <key>NSConnections</key> |
|---|
| … | … | |
| 57 | 57 | <dict> |
|---|
| 58 | 58 | <key>CF$UID</key> |
|---|
| 59 | | <integer>291</integer> |
|---|
| | 59 | <integer>299</integer> |
|---|
| 60 | 60 | </dict> |
|---|
| 61 | 61 | <key>NSNamesValues</key> |
|---|
| 62 | 62 | <dict> |
|---|
| 63 | 63 | <key>CF$UID</key> |
|---|
| 64 | | <integer>292</integer> |
|---|
| | 64 | <integer>300</integer> |
|---|
| 65 | 65 | </dict> |
|---|
| 66 | 66 | <key>NSNextOid</key> |
|---|
| 67 | | <integer>576</integer> |
|---|
| | 67 | <integer>584</integer> |
|---|
| 68 | 68 | <key>NSObjectsKeys</key> |
|---|
| 69 | 69 | <dict> |
|---|
| 70 | 70 | <key>CF$UID</key> |
|---|
| 71 | | <integer>251</integer> |
|---|
| | 71 | <integer>259</integer> |
|---|
| 72 | 72 | </dict> |
|---|
| 73 | 73 | <key>NSObjectsValues</key> |
|---|
| 74 | 74 | <dict> |
|---|
| 75 | 75 | <key>CF$UID</key> |
|---|
| 76 | | <integer>290</integer> |
|---|
| | 76 | <integer>298</integer> |
|---|
| 77 | 77 | </dict> |
|---|
| 78 | 78 | <key>NSOidsKeys</key> |
|---|
| 79 | 79 | <dict> |
|---|
| 80 | 80 | <key>CF$UID</key> |
|---|
| 81 | | <integer>309</integer> |
|---|
| | 81 | <integer>317</integer> |
|---|
| 82 | 82 | </dict> |
|---|
| 83 | 83 | <key>NSOidsValues</key> |
|---|
| 84 | 84 | <dict> |
|---|
| 85 | 85 | <key>CF$UID</key> |
|---|
| 86 | | <integer>310</integer> |
|---|
| | 86 | <integer>318</integer> |
|---|
| 87 | 87 | </dict> |
|---|
| 88 | 88 | <key>NSRoot</key> |
|---|
| … | … | |
| 1108 | 1108 | <string>NSView</string> |
|---|
| 1109 | 1109 | </dict> |
|---|
| 1110 | | <string>{{0, 0}, {1440, 878}}</string> |
|---|
| | 1110 | <string>{{0, 0}, {1280, 778}}</string> |
|---|
| 1111 | 1111 | <string>{250, 129}</string> |
|---|
| 1112 | 1112 | <string>{3.40282e+38, 3.40282e+38}</string> |
|---|
| … | … | |
| 1255 | 1255 | <integer>249</integer> |
|---|
| 1256 | 1256 | </dict> |
|---|
| | 1257 | <dict> |
|---|
| | 1258 | <key>CF$UID</key> |
|---|
| | 1259 | <integer>251</integer> |
|---|
| | 1260 | </dict> |
|---|
| | 1261 | <dict> |
|---|
| | 1262 | <key>CF$UID</key> |
|---|
| | 1263 | <integer>255</integer> |
|---|
| | 1264 | </dict> |
|---|
| 1257 | 1265 | </array> |
|---|
| 1258 | 1266 | </dict> |
|---|
| … | … | |
| 1535 | 1543 | <dict> |
|---|
| 1536 | 1544 | <key>CF$UID</key> |
|---|
| 1537 | | <integer>282</integer> |
|---|
| | 1545 | <integer>295</integer> |
|---|
| 1538 | 1546 | </dict> |
|---|
| 1539 | 1547 | <key>NSTitle</key> |
|---|
| 1540 | 1548 | <dict> |
|---|
| 1541 | 1549 | <key>CF$UID</key> |
|---|
| 1542 | | <integer>280</integer> |
|---|
| | 1550 | <integer>293</integer> |
|---|
| 1543 | 1551 | </dict> |
|---|
| 1544 | 1552 | </dict> |
|---|
| … | … | |
| 1745 | 1753 | <dict> |
|---|
| 1746 | 1754 | <key>CF$UID</key> |
|---|
| 1747 | | <integer>256</integer> |
|---|
| | 1755 | <integer>264</integer> |
|---|
| 1748 | 1756 | </dict> |
|---|
| 1749 | 1757 | <key>NSTitle</key> |
|---|
| 1750 | 1758 | <dict> |
|---|
| 1751 | 1759 | <key>CF$UID</key> |
|---|
| 1752 | | <integer>254</integer> |
|---|
| | 1760 | <integer>262</integer> |
|---|
| 1753 | 1761 | </dict> |
|---|
| 1754 | 1762 | </dict> |
|---|
| … | … | |
| 1945 | 1953 | <dict> |
|---|
| 1946 | 1954 | <key>CF$UID</key> |
|---|
| 1947 | | <integer>261</integer> |
|---|
| | 1955 | <integer>271</integer> |
|---|
| 1948 | 1956 | </dict> |
|---|
| 1949 | 1957 | <key>NSTitle</key> |
|---|
| 1950 | 1958 | <dict> |
|---|
| 1951 | 1959 | <key>CF$UID</key> |
|---|
| 1952 | | <integer>259</integer> |
|---|
| 1953 | | </dict> |
|---|
| 1954 | | </dict> |
|---|
| 1955 | | <string>Create new Diskimage ...</string> |
|---|
| | 1960 | <integer>269</integer> |
|---|
| | 1961 | </dict> |
|---|
| | 1962 | </dict> |
|---|
| | 1963 | <string>Create new Diskimage...</string> |
|---|
| 1956 | 1964 | <string>openDIWindow:</string> |
|---|
| 1957 | 1965 | <dict> |
|---|
| … | … | |
| 2061 | 2069 | <dict> |
|---|
| 2062 | 2070 | <key>CF$UID</key> |
|---|
| 2063 | | <integer>264</integer> |
|---|
| | 2071 | <integer>278</integer> |
|---|
| 2064 | 2072 | </dict> |
|---|
| 2065 | 2073 | <key>NSName</key> |
|---|
| 2066 | 2074 | <dict> |
|---|
| 2067 | 2075 | <key>CF$UID</key> |
|---|
| | 2076 | <integer>288</integer> |
|---|
| | 2077 | </dict> |
|---|
| | 2078 | <key>NSTitle</key> |
|---|
| | 2079 | <dict> |
|---|
| | 2080 | <key>CF$UID</key> |
|---|
| 2068 | 2081 | <integer>276</integer> |
|---|
| 2069 | | </dict> |
|---|
| 2070 | | <key>NSTitle</key> |
|---|
| 2071 | | <dict> |
|---|
| 2072 | | <key>CF$UID</key> |
|---|
| 2073 | | <integer>263</integer> |
|---|
| 2074 | 2082 | </dict> |
|---|
| 2075 | 2083 | </dict> |
|---|
| … | … | |
| 3310 | 3318 | <string>Created: 100 MB of 1'000 MB</string> |
|---|
| 3311 | 3319 | <string>{{1, 1}, {400, 116}}</string> |
|---|
| 3312 | | <string>{{0, 0}, {1440, 878}}</string> |
|---|
| | 3320 | <string>{{0, 0}, {1280, 778}}</string> |
|---|
| 3313 | 3321 | <string>{400, 129}</string> |
|---|
| 3314 | 3322 | <string>{400, 3.40282e+38}</string> |
|---|
| … | … | |
| 3489 | 3497 | </dict> |
|---|
| 3490 | 3498 | </dict> |
|---|
| 3491 | | <string>cycleWindowsBack</string> |
|---|
| 3492 | | <dict> |
|---|
| 3493 | | <key>$class</key> |
|---|
| 3494 | | <dict> |
|---|
| 3495 | | <key>CF$UID</key> |
|---|
| 3496 | | <integer>289</integer> |
|---|
| 3497 | | </dict> |
|---|
| 3498 | | <key>NS.objects</key> |
|---|
| 3499 | | <array> |
|---|
| 3500 | | <dict> |
|---|
| 3501 | | <key>CF$UID</key> |
|---|
| 3502 | | <integer>129</integer> |
|---|
| 3503 | | </dict> |
|---|
| 3504 | | <dict> |
|---|
| 3505 | | <key>CF$UID</key> |
|---|
| 3506 | | <integer>252</integer> |
|---|
| 3507 | | </dict> |
|---|
| 3508 | | <dict> |
|---|
| 3509 | | <key>CF$UID</key> |
|---|
| 3510 | | <integer>258</integer> |
|---|
| 3511 | | </dict> |
|---|
| 3512 | | <dict> |
|---|
| 3513 | | <key>CF$UID</key> |
|---|
| 3514 | | <integer>210</integer> |
|---|
| 3515 | | </dict> |
|---|
| 3516 | | <dict> |
|---|
| 3517 | | <key>CF$UID</key> |
|---|
| 3518 | | <integer>144</integer> |
|---|
| 3519 | | </dict> |
|---|
| 3520 | | <dict> |
|---|
| 3521 | | <key>CF$UID</key> |
|---|
| 3522 | | <integer>111</integer> |
|---|
| 3523 | | </dict> |
|---|
| 3524 | | <dict> |
|---|
| 3525 | | <key>CF$UID</key> |
|---|
| 3526 | | <integer>48</integer> |
|---|
| 3527 | | </dict> |
|---|
| 3528 | | <dict> |
|---|
| 3529 | | <key>CF$UID</key> |
|---|
| 3530 | | <integer>244</integer> |
|---|
| 3531 | | </dict> |
|---|
| 3532 | | <dict> |
|---|
| 3533 | | <key>CF$UID</key> |
|---|
| 3534 | | <integer>267</integer> |
|---|
| 3535 | | </dict> |
|---|
| 3536 | | <dict> |
|---|
| 3537 | | <key>CF$UID</key> |
|---|
| 3538 | | <integer>162</integer> |
|---|
| 3539 | | </dict> |
|---|
| 3540 | | <dict> |
|---|
| 3541 | | <key>CF$UID</key> |
|---|
| 3542 | | <integer>27</integer> |
|---|
| 3543 | | </dict> |
|---|
| 3544 | | <dict> |
|---|
| 3545 | | <key>CF$UID</key> |
|---|
| 3546 | | <integer>277</integer> |
|---|
| 3547 | | </dict> |
|---|
| 3548 | | <dict> |
|---|
| 3549 | | <key>CF$UID</key> |
|---|
| 3550 | | <integer>157</integer> |
|---|
| 3551 | | </dict> |
|---|
| 3552 | | <dict> |
|---|
| 3553 | | <key>CF$UID</key> |
|---|
| 3554 | | <integer>118</integer> |
|---|
| 3555 | | </dict> |
|---|
| 3556 | | <dict> |
|---|
| 3557 | | <key>CF$UID</key> |
|---|
| 3558 | | <integer>96</integer> |
|---|
| 3559 | | </dict> |
|---|
| 3560 | | <dict> |
|---|
| 3561 | | <key>CF$UID</key> |
|---|
| 3562 | | <integer>274</integer> |
|---|
| 3563 | | </dict> |
|---|
| 3564 | | <dict> |
|---|
| 3565 | | <key>CF$UID</key> |
|---|
| 3566 | | <integer>124</integer> |
|---|
| 3567 | | </dict> |
|---|
| 3568 | | <dict> |
|---|
| 3569 | | <key>CF$UID</key> |
|---|
| 3570 | | <integer>215</integer> |
|---|
| 3571 | | </dict> |
|---|
| 3572 | | <dict> |
|---|
| 3573 | | <key>CF$UID</key> |
|---|
| 3574 | | <integer>279</integer> |
|---|
| 3575 | | </dict> |
|---|
| 3576 | | <dict> |
|---|
| 3577 | | <key>CF$UID</key> |
|---|
| 3578 | | <integer>15</integer> |
|---|
| 3579 | | </dict> |
|---|
| 3580 | | <dict> |
|---|
| 3581 | | <key>CF$UID</key> |
|---|
| 3582 | | <integer>134</integer> |
|---|
| 3583 | | </dict> |
|---|
| 3584 | | <dict> |
|---|
| 3585 | | <key>CF$UID</key> |
|---|
| 3586 | | <integer>8</integer> |
|---|
| 3587 | | |
|---|
|