ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/MacOSX/Launcher/VMSettingsController.mm
(Generate patch)

Comparing SheepShaver/src/MacOSX/Launcher/VMSettingsController.mm (file contents):
Revision 1.4 by asvitkine, 2009-08-06T18:12:24Z vs.
Revision 1.10 by asvitkine, 2011-12-28T17:51:56Z

# Line 1 | Line 1
1   /*
2   *  VMSettingsController.mm - Preferences editing in Cocoa on Mac OS X
3   *
4 < *  Copyright (C) 2006-2009 Alexei Svitkine
4 > *  Copyright (C) 2006-2010 Alexei Svitkine
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 18 | Line 18
18   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   */
20  
21 #import "VMSettingsController.h"
22
21   #import "sysdeps.h"
22   #import "prefs.h"
23  
24 + // The _UINT64 define is needed to guard against a typedef mismatch with Snow Leopard headers.
25 + #define _UINT64
26 +
27 + #import "VMSettingsController.h"
28 +
29 + #include <unistd.h>
30 +
31   const int CDROMRefNum = -62;                    // RefNum of driver
32  
33 + #ifdef STANDALONE_PREFS
34   void prefs_init()
35   {
36   }
# Line 32 | Line 38 | void prefs_init()
38   void prefs_exit()
39   {
40   }
41 + #endif
42  
43   @implementation VMSettingsController
44  
# Line 68 | Line 75 | static NSString *getStringFromPrefs(cons
75    const char *value = PrefsFindString(key);
76    if (value == NULL)
77      return @"";
78 <  return [NSString stringWithCString: value];
78 >  return [NSString stringWithUTF8String: value];
79   }
80  
81   - (void) setupGUI
# Line 78 | Line 85 | static NSString *getStringFromPrefs(cons
85    const char *dsk;
86    int index = 0;
87    while ((dsk = PrefsFindString("disk", index++)) != NULL)
88 <    [diskArray addObject: [NSString stringWithCString: dsk ]];
88 >    [diskArray addObject: [NSString stringWithUTF8String: dsk ]];
89  
90    [disks setDataSource: self];
91    [disks reloadData];
# Line 169 | Line 176 | static NSString *getStringFromPrefs(cons
176    [NSApp runModalForWindow:window];
177   }
178  
179 + - (void) editSettingsForNewVM: (NSString *) vmdir sender: (id) sender
180 + {
181 +  chdir([vmdir fileSystemRepresentation]);
182 +  AddPrefsDefaults();
183 +  AddPlatformPrefsDefaults();
184 +  LoadPrefs([vmdir fileSystemRepresentation]);
185 +  PrefsReplaceString("screen", "win/800/600");
186 +  PrefsReplaceString("extfs", "");
187 +  PrefsReplaceString("ether", "slirp");
188 +  PrefsReplaceInt32("ramsize", 64 << 20);
189 +  PrefsReplaceInt32("frameskip", 2);
190 +  PrefsReplaceBool("jit", true);
191 +  NSWindow *window = [self window];
192 +  [self setupGUI];
193 +  [NSApp runModalForWindow:window];
194 + }
195 +
196   static NSString *makeRelativeIfNecessary(NSString *path)
197   {
198    char cwd[1024], filename[1024];
# Line 179 | Line 203 | static NSString *makeRelativeIfNecessary
203    if (!strncmp(cwd, filename, cwdlen)) {
204      if (cwdlen >= 0 && cwd[cwdlen-1] != '/')
205        cwdlen++;
206 <    return [NSString stringWithCString: filename + cwdlen];
206 >    return [NSString stringWithUTF8String: filename + cwdlen];
207    }
208    return path;
209   }
# Line 316 | Line 340 | static NSString *makeRelativeIfNecessary
340  
341   - (void) cancelEdit: (id) sender
342   {
343 + #ifdef STANDALONE_PREFS
344    PrefsExit();
345 + #endif
346    [[self window] close];
347    [NSApp stopModal];
348    cancelWasClicked = YES;
# Line 373 | Line 399 | static NSString *makeRelativeIfNecessary
399    PrefsReplaceString("serialb", [[printerPort stringValue] UTF8String]);
400    PrefsReplaceString("ether", [[ethernetInterface stringValue] UTF8String]);
401    SavePrefs();
402 + #ifdef STANDALONE_PREFS
403    PrefsExit();
404 + #endif
405  
406    [[self window] close];
407    [NSApp stopModal];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines