Commit d7cccdd5 authored by Jack Jansen's avatar Jack Jansen

Added a field that allows the user to set sys.argv-style arguments

to the script. Fixes #757544.
parent 47db2527
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
nosite = NSButton; nosite = NSButton;
optimize = NSButton; optimize = NSButton;
others = NSTextField; others = NSTextField;
scriptargs = NSTextField;
tabs = NSButton; tabs = NSButton;
verbose = NSButton; verbose = NSButton;
"with_terminal" = NSButton; "with_terminal" = NSButton;
......
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>IBDocumentLocation</key> <key>IBDocumentLocation</key>
<string>551 90 356 240 0 0 1280 1002 </string> <string>398 60 356 240 0 0 1024 746 </string>
<key>IBFramework Version</key> <key>IBFramework Version</key>
<string>286.0</string> <string>291.0</string>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>5</integer> <integer>5</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>6I32</string> <string>6L60</string>
</dict> </dict>
</plist> </plist>
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
- (BOOL) tabs; - (BOOL) tabs;
- (NSString *) others; - (NSString *) others;
- (BOOL) with_terminal; - (BOOL) with_terminal;
- (NSString *) scriptargs;
@end @end
@interface FileSettings : NSObject <FileSettingsSource> @interface FileSettings : NSObject <FileSettingsSource>
...@@ -33,6 +34,7 @@ ...@@ -33,6 +34,7 @@
BOOL nosite; // -S option: don't import site.py BOOL nosite; // -S option: don't import site.py
BOOL tabs; // -t option: warn about inconsistent tabs BOOL tabs; // -t option: warn about inconsistent tabs
NSString *others; // other options NSString *others; // other options
NSString *scriptargs; // script arguments (not for preferences)
BOOL with_terminal; // Run in terminal window BOOL with_terminal; // Run in terminal window
FileSettings *origsource; FileSettings *origsource;
......
...@@ -77,6 +77,7 @@ ...@@ -77,6 +77,7 @@
nosite = source->nosite; nosite = source->nosite;
tabs = source->tabs; tabs = source->tabs;
others = [source->others retain]; others = [source->others retain];
scriptargs = [source->scriptargs retain];
with_terminal = source->with_terminal; with_terminal = source->with_terminal;
prefskey = source->prefskey; prefskey = source->prefskey;
if (prefskey) [prefskey retain]; if (prefskey) [prefskey retain];
...@@ -164,6 +165,7 @@ ...@@ -164,6 +165,7 @@
self = [self initWithFileSettings: fsdefaults]; self = [self initWithFileSettings: fsdefaults];
if (!self) return self; if (!self) return self;
interpreters = [fsdefaults->interpreters retain]; interpreters = [fsdefaults->interpreters retain];
scriptargs = [@"" retain];
[self applyUserDefaults: filetype]; [self applyUserDefaults: filetype];
prefskey = [filetype retain]; prefskey = [filetype retain];
return self; return self;
...@@ -191,6 +193,7 @@ ...@@ -191,6 +193,7 @@
nosite = [source nosite]; nosite = [source nosite];
tabs = [source tabs]; tabs = [source tabs];
others = [[source others] retain]; others = [[source others] retain];
scriptargs = [[source scriptargs] retain];
with_terminal = [source with_terminal]; with_terminal = [source with_terminal];
// And if this is a user defaults object we also save the // And if this is a user defaults object we also save the
// values // values
...@@ -206,6 +209,7 @@ ...@@ -206,6 +209,7 @@
[NSNumber numberWithBool: nosite], @"nosite", [NSNumber numberWithBool: nosite], @"nosite",
[NSNumber numberWithBool: nosite], @"nosite", [NSNumber numberWithBool: nosite], @"nosite",
others, @"others", others, @"others",
scriptargs, @"scriptargs",
[NSNumber numberWithBool: with_terminal], @"with_terminal", [NSNumber numberWithBool: with_terminal], @"with_terminal",
nil]; nil];
defaults = [NSUserDefaults standardUserDefaults]; defaults = [NSUserDefaults standardUserDefaults];
...@@ -235,6 +239,8 @@ ...@@ -235,6 +239,8 @@
if (value) tabs = [value boolValue]; if (value) tabs = [value boolValue];
value = [dict objectForKey: @"others"]; value = [dict objectForKey: @"others"];
if (value) others = [value retain]; if (value) others = [value retain];
value = [dict objectForKey: @"scriptargs"];
if (value) scriptargs = [value retain];
value = [dict objectForKey: @"with_terminal"]; value = [dict objectForKey: @"with_terminal"];
if (value) with_terminal = [value boolValue]; if (value) with_terminal = [value boolValue];
} }
...@@ -260,7 +266,7 @@ ...@@ -260,7 +266,7 @@
cur_interp = interpreter; cur_interp = interpreter;
return [NSString stringWithFormat: return [NSString stringWithFormat:
@"\"%@\"%s%s%s%s%s%s %@ \"%@\" %s", @"\"%@\"%s%s%s%s%s%s %@ \"%@\" %@ %s",
cur_interp, cur_interp,
debug?" -d":"", debug?" -d":"",
verbose?" -v":"", verbose?" -v":"",
...@@ -270,6 +276,7 @@ ...@@ -270,6 +276,7 @@
tabs?" -t":"", tabs?" -t":"",
others, others,
script, script,
scriptargs,
with_terminal? "&& echo Exit status: $? && exit 1" : " &"]; with_terminal? "&& echo Exit status: $? && exit 1" : " &"];
} }
...@@ -285,6 +292,7 @@ ...@@ -285,6 +292,7 @@
- (BOOL) nosite { return nosite;}; - (BOOL) nosite { return nosite;};
- (BOOL) tabs { return tabs;}; - (BOOL) tabs { return tabs;};
- (NSString *) others { return others;}; - (NSString *) others { return others;};
- (NSString *) scriptargs { return scriptargs;};
- (BOOL) with_terminal { return with_terminal;}; - (BOOL) with_terminal { return with_terminal;};
@end @end
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
IBOutlet NSButton *tabs; IBOutlet NSButton *tabs;
IBOutlet NSTextField *others; IBOutlet NSTextField *others;
IBOutlet NSButton *with_terminal; IBOutlet NSButton *with_terminal;
IBOutlet NSTextField *scriptargs;
IBOutlet NSTextField *commandline; IBOutlet NSTextField *commandline;
NSString *script; NSString *script;
......
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
[nosite setState: [settings nosite]]; [nosite setState: [settings nosite]];
[tabs setState: [settings tabs]]; [tabs setState: [settings tabs]];
[others setStringValue: [settings others]]; [others setStringValue: [settings others]];
[scriptargs setStringValue: [settings scriptargs]];
[with_terminal setState: [settings with_terminal]]; [with_terminal setState: [settings with_terminal]];
[commandline setStringValue: [settings commandLineForScript: script]]; [commandline setStringValue: [settings commandLineForScript: script]];
...@@ -161,6 +162,7 @@ ...@@ -161,6 +162,7 @@
- (BOOL) nosite { return [nosite state];}; - (BOOL) nosite { return [nosite state];};
- (BOOL) tabs { return [tabs state];}; - (BOOL) tabs { return [tabs state];};
- (NSString *) others { return [others stringValue];}; - (NSString *) others { return [others stringValue];};
- (NSString *) scriptargs { return [scriptargs stringValue];};
- (BOOL) with_terminal { return [with_terminal state];}; - (BOOL) with_terminal { return [with_terminal state];};
// Delegates // Delegates
......
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
[tabs setState: [settings tabs]]; [tabs setState: [settings tabs]];
[others setStringValue: [settings others]]; [others setStringValue: [settings others]];
[with_terminal setState: [settings with_terminal]]; [with_terminal setState: [settings with_terminal]];
// Not scriptargs, it isn't for preferences
[commandline setStringValue: [settings commandLineForScript: @"<your script here>"]]; [commandline setStringValue: [settings commandLineForScript: @"<your script here>"]];
} }
...@@ -84,6 +85,7 @@ ...@@ -84,6 +85,7 @@
- (BOOL) tabs { return [tabs state];}; - (BOOL) tabs { return [tabs state];};
- (NSString *) others { return [others stringValue];}; - (NSString *) others { return [others stringValue];};
- (BOOL) with_terminal { return [with_terminal state];}; - (BOOL) with_terminal { return [with_terminal state];};
- (NSString *) scriptargs { return @"";};
// Delegates // Delegates
- (void)controlTextDidChange:(NSNotification *)aNotification - (void)controlTextDidChange:(NSNotification *)aNotification
......
...@@ -132,6 +132,7 @@ ...@@ -132,6 +132,7 @@
4A9504D0FFE6A4CB11CA0CBA, 4A9504D0FFE6A4CB11CA0CBA,
4A9504D1FFE6A4CB11CA0CBA, 4A9504D1FFE6A4CB11CA0CBA,
); );
hasScannedForEncodings = 1;
isa = PBXProject; isa = PBXProject;
mainGroup = 2A37F4AAFDCFA73011CA2CEA; mainGroup = 2A37F4AAFDCFA73011CA2CEA;
projectDirPath = ""; projectDirPath = "";
...@@ -385,7 +386,6 @@ ...@@ -385,7 +386,6 @@
</dict> </dict>
</plist> </plist>
"; ";
shouldUseHeadermap = 0;
}; };
2A37F4C7FDCFA73011CA2CEA = { 2A37F4C7FDCFA73011CA2CEA = {
buildActionMask = 2147483647; buildActionMask = 2147483647;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment