Skip to content
Snippets Groups Projects
Commit b8c763b6 authored by George Nachman's avatar George Nachman
Browse files

Added pref migration for prompt on close. Added code for jobs tableview....

Added pref migration for prompt on close. Added code for jobs tableview. Tweaked prompt on close global prefs. Prmopt on quit logic improved, message improved, that code refactored.
parent 0d1ad09c
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -24,8 +24,12 @@
 
#import <iTerm/ITAddressBookMgr.h>
#import <iTerm/BookmarkModel.h>
#import "PreferencePanel.h"
 
id gAltOpenAllRepresentedObject;
// Set to true if a bookmark was changed automatically due to migration to a new
// standard.
int gMigrated;
 
@implementation BookmarkModel
 
Loading
Loading
@@ -34,6 +38,11 @@ id gAltOpenAllRepresentedObject;
gAltOpenAllRepresentedObject = [[NSObject alloc] init];
}
 
+ (BOOL)migrated
{
return gMigrated;
}
- (BookmarkModel*)init
{
bookmarks_ = [[NSMutableArray alloc] init];
Loading
Loading
@@ -186,6 +195,25 @@ id gAltOpenAllRepresentedObject;
[self addBookmark:bookmark inSortedOrder:NO];
}
 
+ (void)migratePromptOnCloseInMutableBookmark:(NSMutableDictionary *)dict
{
// Migrate global "prompt on close" to per-profile prompt enum
if (![dict objectForKey:KEY_PROMPT_CLOSE]) {
BOOL promptOnClose = [[[NSUserDefaults standardUserDefaults] objectForKey:@"PromptOnClose"] boolValue];
NSNumber *newValue = [NSNumber numberWithBool:promptOnClose ? PROMPT_ALWAYS : PROMPT_NEVER];
[dict setObject:newValue forKey:KEY_PROMPT_CLOSE];
gMigrated = YES;
}
// This is a required field to avoid setting nil values in the bookmark
// dict later on.
if (![dict objectForKey:KEY_JOBS]) {
[dict setObject:[NSArray arrayWithObjects:@"rlogin", @"ssh", @"slogin", @"telnet", nil]
forKey:KEY_JOBS];
gMigrated = YES;
}
}
- (void)addBookmark:(Bookmark*)bookmark inSortedOrder:(BOOL)sort
{
 
Loading
Loading
@@ -210,6 +238,7 @@ id gAltOpenAllRepresentedObject;
if (![newBookmark objectForKey:KEY_DEFAULT_BOOKMARK]) {
[newBookmark setObject:@"No" forKey:KEY_DEFAULT_BOOKMARK];
}
[BookmarkModel migratePromptOnCloseInMutableBookmark:newBookmark];
 
bookmark = [[newBookmark copy] autorelease];
 
Loading
Loading
Loading
Loading
@@ -12,8 +12,8 @@
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="1947"/>
<integer value="2568"/>
<integer value="2108"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
Loading
Loading
@@ -218,7 +218,7 @@
<object class="NSTabViewItem" id="403608584">
<string key="NSIdentifier">1</string>
<object class="NSView" key="NSView" id="505411774">
<nil key="NSNextResponder"/>
<reference key="NSNextResponder" ref="415305200"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
Loading
Loading
@@ -314,7 +314,7 @@
<object class="NSTextField" id="544158209">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{63, 214}, {57, 17}}</string>
<string key="NSFrame">{{63, 232}, {57, 17}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="801285277">
Loading
Loading
@@ -346,7 +346,7 @@
<object class="NSTextField" id="159246787">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{365, 417}, {54, 17}}</string>
<string key="NSFrame">{{442, 417}, {54, 17}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="55984352">
Loading
Loading
@@ -362,7 +362,7 @@
<object class="NSButton" id="836919394">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{367, 393}, {215, 18}}</string>
<string key="NSFrame">{{444, 393}, {215, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="498566807">
Loading
Loading
@@ -384,7 +384,7 @@
<object class="NSButton" id="998812931">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{367, 373}, {154, 18}}</string>
<string key="NSFrame">{{444, 373}, {154, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="54735015">
Loading
Loading
@@ -406,7 +406,7 @@
<object class="NSButton" id="34710208">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{367, 353}, {253, 18}}</string>
<string key="NSFrame">{{444, 353}, {253, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="666462493">
Loading
Loading
@@ -425,32 +425,10 @@
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="731456277">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{64, 292}, {274, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="223258540">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Confirm commands that close a session</string>
<reference key="NSSupport" ref="966507434"/>
<reference key="NSControlView" ref="731456277"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="93419583"/>
<reference key="NSAlternateImage" ref="573748959"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="104073832">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{64, 252}, {269, 18}}</string>
<string key="NSFrame">{{64, 270}, {269, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="529242158">
Loading
Loading
@@ -472,13 +450,13 @@
<object class="NSButton" id="289241343">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{91, 272}, {239, 18}}</string>
<string key="NSFrame">{{64, 292}, {325, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="200574360">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Only when multiple sessions close</string>
<string key="NSContents">Confirm commands that close multiple sessions</string>
<reference key="NSSupport" ref="966507434"/>
<reference key="NSControlView" ref="289241343"/>
<int key="NSButtonFlags">1211912703</int>
Loading
Loading
@@ -494,7 +472,7 @@
<object class="NSButton" id="550966612">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{367, 333}, {236, 18}}</string>
<string key="NSFrame">{{444, 333}, {236, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="131974188">
Loading
Loading
@@ -516,7 +494,7 @@
<object class="NSButton" id="839916427">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{367, 313}, {403, 18}}</string>
<string key="NSFrame">{{444, 313}, {403, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1020150369">
Loading
Loading
@@ -538,7 +516,7 @@
<object class="NSTextField" id="174492482">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{366, 275}, {319, 34}}</string>
<string key="NSFrame">{{443, 275}, {319, 34}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="443345187">
Loading
Loading
@@ -554,7 +532,7 @@
<object class="NSTextField" id="376223640">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{381, 264}, {313, 22}}</string>
<string key="NSFrame">{{458, 264}, {313, 22}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="105838222">
Loading
Loading
@@ -606,7 +584,7 @@
<object class="NSButton" id="737790780">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{64, 170}, {268, 18}}</string>
<string key="NSFrame">{{64, 188}, {268, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="607327869">
Loading
Loading
@@ -628,7 +606,7 @@
<object class="NSButton" id="745399334">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{64, 111}, {268, 18}}</string>
<string key="NSFrame">{{64, 129}, {268, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="313793810">
Loading
Loading
@@ -650,7 +628,7 @@
<object class="NSButton" id="107520417">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{64, 150}, {405, 18}}</string>
<string key="NSFrame">{{64, 168}, {405, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="90179863">
Loading
Loading
@@ -672,7 +650,7 @@
<object class="NSButton" id="456524192">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{64, 190}, {233, 18}}</string>
<string key="NSFrame">{{64, 208}, {233, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1017975716">
Loading
Loading
@@ -694,7 +672,7 @@
<object class="NSTextField" id="940413409">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{398, 130}, {185, 17}}</string>
<string key="NSFrame">{{475, 130}, {185, 17}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="166082181">
Loading
Loading
@@ -710,7 +688,7 @@
<object class="NSButton" id="349248556">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{367, 185}, {287, 18}}</string>
<string key="NSFrame">{{444, 185}, {287, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="327202101">
Loading
Loading
@@ -732,7 +710,7 @@
<object class="NSButton" id="251820265">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{367, 165}, {229, 18}}</string>
<string key="NSFrame">{{444, 165}, {229, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="829433844">
Loading
Loading
@@ -754,7 +732,7 @@
<object class="NSTextField" id="426043328">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{366, 229}, {59, 17}}</string>
<string key="NSFrame">{{443, 229}, {59, 17}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="656803799">
Loading
Loading
@@ -770,7 +748,7 @@
<object class="NSTextField" id="71680963">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{366, 127}, {129, 17}}</string>
<string key="NSFrame">{{443, 127}, {129, 17}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="194098348">
Loading
Loading
@@ -786,7 +764,7 @@
<object class="NSButton" id="975360027">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{367, 205}, {207, 18}}</string>
<string key="NSFrame">{{444, 205}, {207, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="109698372">
Loading
Loading
@@ -808,7 +786,7 @@
<object class="NSTextField" id="404288158">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{367, 105}, {130, 17}}</string>
<string key="NSFrame">{{444, 105}, {130, 17}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="340549429">
Loading
Loading
@@ -824,7 +802,7 @@
<object class="NSTextField" id="951317711">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{546, 105}, {99, 17}}</string>
<string key="NSFrame">{{623, 105}, {99, 17}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="226732540">
Loading
Loading
@@ -840,7 +818,7 @@
<object class="NSTextField" id="793873772">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{495, 103}, {46, 22}}</string>
<string key="NSFrame">{{572, 103}, {46, 22}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="850031472">
Loading
Loading
@@ -920,7 +898,7 @@
<object class="NSButton" id="791672134">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{368, 84}, {220, 18}}</string>
<string key="NSFrame">{{445, 84}, {220, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="179049668">
Loading
Loading
@@ -942,7 +920,7 @@
<object class="NSTextField" id="220676475">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{82, 132}, {155, 17}}</string>
<string key="NSFrame">{{82, 150}, {155, 17}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1049151664">
Loading
Loading
@@ -958,7 +936,7 @@
<object class="NSTextField" id="393388698">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{63, 78}, {83, 17}}</string>
<string key="NSFrame">{{63, 96}, {83, 17}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="533196323">
Loading
Loading
@@ -974,7 +952,7 @@
<object class="NSButton" id="731675876">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{64, 54}, {354, 18}}</string>
<string key="NSFrame">{{64, 72}, {354, 18}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="71661080">
Loading
Loading
@@ -996,7 +974,7 @@
<object class="NSTextField" id="856582882">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{85, 26}, {251, 22}}</string>
<string key="NSFrame">{{85, 44}, {331, 22}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="953583655">
Loading
Loading
@@ -1013,7 +991,7 @@
<object class="NSButton" id="551932464">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{338, 20}, {96, 32}}</string>
<string key="NSFrame">{{146, 8}, {96, 32}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="64133654">
Loading
Loading
@@ -1033,7 +1011,7 @@
<object class="NSButton" id="916346445">
<reference key="NSNextResponder" ref="505411774"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{434, 20}, {184, 32}}</string>
<string key="NSFrame">{{238, 8}, {184, 32}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="53419469">
Loading
Loading
@@ -1065,7 +1043,7 @@
<string>NeXT TIFF v4.0 pasteboard type</string>
</object>
</object>
<string key="NSFrame">{{67, 28}, {16, 16}}</string>
<string key="NSFrame">{{67, 46}, {16, 16}}</string>
<reference key="NSSuperview" ref="505411774"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="273228530">
Loading
Loading
@@ -1084,6 +1062,7 @@
</object>
</object>
<string key="NSFrameSize">{818, 434}</string>
<reference key="NSSuperview" ref="415305200"/>
</object>
<string key="NSLabel">Global Settings</string>
<reference key="NSColor" ref="303715562"/>
Loading
Loading
@@ -1782,7 +1761,7 @@
<object class="NSTabViewItem" id="745611275">
<string key="NSIdentifier">2</string>
<object class="NSView" key="NSView" id="105539794">
<reference key="NSNextResponder" ref="415305200"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
Loading
Loading
@@ -2960,7 +2939,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<int key="NSSelectedIndex">-1</int>
<bool key="NSPullDown">YES</bool>
<int key="NSPreferredEdge">1</int>
<bool key="NSUsesItemFromMenu">YES</bool>
Loading
Loading
@@ -5175,7 +5153,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSTabViewItem" id="1033690595">
<string key="NSIdentifier">Item 2</string>
<object class="NSView" key="NSView" id="974784023">
<reference key="NSNextResponder" ref="551361709"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
Loading
Loading
@@ -5714,7 +5692,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
<string key="NSFrame">{{10, 33}, {486, 404}}</string>
<reference key="NSSuperview" ref="551361709"/>
</object>
<string key="NSLabel">Terminal</string>
<reference key="NSColor" ref="303715562"/>
Loading
Loading
@@ -5723,32 +5700,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSTabViewItem" id="522484401">
<string key="NSIdentifier">Item 6</string>
<object class="NSView" key="NSView" id="742837693">
<nil key="NSNextResponder"/>
<reference key="NSNextResponder" ref="551361709"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSButton" id="63636012">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{15, 338}, {394, 18}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="227293614">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Prompt before closing if there are running jobs other than:</string>
<reference key="NSSupport" ref="966507434"/>
<reference key="NSControlView" ref="63636012"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="93419583"/>
<reference key="NSAlternateImage" ref="573748959"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSScrollView" id="931011790">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">268</int>
Loading
Loading
@@ -5762,7 +5717,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSTableView" id="994140735">
<reference key="NSNextResponder" ref="297508565"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{431, 152}</string>
<string key="NSFrameSize">{438, 114}</string>
<reference key="NSSuperview" ref="297508565"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
Loading
Loading
@@ -5773,7 +5728,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSMutableArray" key="NSTableColumns">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="191580269">
<double key="NSWidth">428</double>
<double key="NSWidth">435</double>
<double key="NSMinWidth">40</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
Loading
Loading
@@ -5826,7 +5781,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSTableViewDraggingDestinationStyle">0</int>
</object>
</object>
<string key="NSFrame">{{1, 1}, {431, 152}}</string>
<string key="NSFrame">{{1, 1}, {438, 114}}</string>
<reference key="NSSuperview" ref="931011790"/>
<reference key="NSNextKeyView" ref="994140735"/>
<reference key="NSDocView" ref="994140735"/>
Loading
Loading
@@ -5853,7 +5808,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<double key="NSPercent">0.99768518518518523</double>
</object>
</object>
<string key="NSFrame">{{36, 178}, {433, 154}}</string>
<string key="NSFrame">{{29, 172}, {440, 116}}</string>
<reference key="NSSuperview" ref="742837693"/>
<reference key="NSNextKeyView" ref="297508565"/>
<int key="NSsFlags">562</int>
Loading
Loading
@@ -5865,7 +5820,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSButton" id="670298602">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{36, 148}, {23, 23}}</string>
<string key="NSFrame">{{36, 142}, {23, 23}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="84561581">
Loading
Loading
@@ -5889,7 +5844,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSButton" id="235544390">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{58, 148}, {23, 23}}</string>
<string key="NSFrame">{{58, 142}, {23, 23}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="489085837">
Loading
Loading
@@ -5934,7 +5889,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSButton" id="868275361">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{15, 93}, {288, 18}}</string>
<string key="NSFrame">{{15, 87}, {288, 18}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="500236189">
Loading
Loading
@@ -5955,7 +5910,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSTextField" id="878545814">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{35, 65}, {330, 22}}</string>
<string key="NSFrame">{{35, 59}, {330, 22}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="817907637">
Loading
Loading
@@ -5972,7 +5927,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSButton" id="165347135">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{367, 60}, {96, 32}}</string>
<string key="NSFrame">{{367, 54}, {96, 32}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="260284736">
Loading
Loading
@@ -6004,7 +5959,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>NeXT TIFF v4.0 pasteboard type</string>
</object>
</object>
<string key="NSFrame">{{17, 70}, {16, 16}}</string>
<string key="NSFrame">{{17, 64}, {16, 16}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="96790968">
Loading
Loading
@@ -6021,7 +5976,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSButton" id="1054437460">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{15, 36}, {200, 18}}</string>
<string key="NSFrame">{{15, 30}, {200, 18}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1053449029">
Loading
Loading
@@ -6042,7 +5997,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSTextField" id="136617997">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{214, 35}, {45, 22}}</string>
<string key="NSFrame">{{214, 29}, {45, 22}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="19787123">
Loading
Loading
@@ -6127,7 +6082,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSTextField" id="580965938">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{14, 114}, {99, 17}}</string>
<string key="NSFrame">{{14, 108}, {99, 17}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="185133259">
Loading
Loading
@@ -6140,8 +6095,214 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="NSTextColor" ref="1014689419"/>
</object>
</object>
<object class="NSMatrix" id="41217723">
<reference key="NSNextResponder" ref="742837693"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 296}, {452, 58}}</string>
<reference key="NSSuperview" ref="742837693"/>
<bool key="NSEnabled">YES</bool>
<int key="NSNumRows">3</int>
<int key="NSNumCols">1</int>
<object class="NSMutableArray" key="NSCells">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSButtonCell" id="213146648">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Do not prompt before closing</string>
<reference key="NSSupport" ref="966507434"/>
<reference key="NSControlView" ref="41217723"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<reference key="NSAlternateImage" ref="833787865"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<object class="NSButtonCell" id="980285124">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Always prompt before closing</string>
<reference key="NSSupport" ref="966507434"/>
<reference key="NSControlView" ref="41217723"/>
<int key="NSTag">1</int>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<object class="NSImage" key="NSNormalImage">
<int key="NSImageFlags">549453824</int>
<string key="NSSize">{18, 18}</string>
<object class="NSMutableArray" key="NSReps">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="0"/>
<object class="NSBitmapImageRep">
<object class="NSData" key="NSTIFFRepresentation">
<bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw
IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/
29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5
dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA
AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG
AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/
0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/
7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/
5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/
3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD
AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns
AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/
6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/
/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/
///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl
YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA
AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD
AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu
AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgEAAAMAAAABABIAAAEB
AAMAAAABABIAAAECAAMAAAAEAAAFxgEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS
AAMAAAABAAEAAAFTAAMAAAAEAAAFzodzAAcAAAwYAAAF1gAAAAAACAAIAAgACAABAAEAAQABAAAMGGFw
cGwCAAAAbW50clJHQiBYWVogB9YABAADABMALAASYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAOclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAA
AXwAAAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAMSbmRpbgAA
BOwAAAY+ZGVzYwAACywAAABkZHNjbQAAC5AAAAAubW1vZAAAC8AAAAAoY3BydAAAC+gAAAAtWFlaIAAA
AAAAAF1KAAA0kQAACCVYWVogAAAAAAAAdCAAALRgAAAjPVhZWiAAAAAAAAAlbAAAFyoAAKfDWFlaIAAA
AAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1
cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAAD
AQAAAQACBAUGBwkKCw0ODxASExQWFxgaGxweHyAiIyQmJygpKywtLzAxMjM1Njc4OTs8PT5AQUJDREZH
SElKS0xOT1BRUlNUVVZXWFlaW1xdXl9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SF
hoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnZ6foKGio6SlpqanqKmqq6ytra6vsLGysrO0tba3uLi5uru8
vL2+v8DBwcLDxMXGxsfIycrKy8zNzs7P0NHS0tPU1dbW19jZ2drb3Nzd3t/g4eLi4+Tl5ufo6enq6+zt
7u/w8fHy8/T19vf4+fr7/P3+/v8AAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR8gISIjJCUnKCkq
Ky0uLzAxMzQ1Njc4OTo7PD0/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaWltcXV5fYGFiY2RlZmdo
aWprbG1ub3BxcnN0dXZ3d3h5ent8fH1+f4CBgoKDhIWGh4iIiYqLjI2Oj5CRkpOUlJWWl5iZmpucnZ2e
n6ChoqOkpaamp6ipqqusra6vsLCxsrO0tba3uLm5uru8vb6/wMHCw8TFx8jJysvMzc7P0NDR0tPU1dbX
2Nna29ze3+Dh4uPk5ebn6err7O3u7/Hy8/T19vf5+vv8/f7/AAIDAwQFBgcICQoKCwwNDg8QERITFBUW
FxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODg5Ojs8PT4+P0BBQkNDREVGR0hJSUpLTE1O
Tk9QUVJSU1RVVVZXWFhZWltbXF1eXl9gYWFiY2RkZWZnZ2hpaWprbGxtbm5vcHFxcnNzdHV1dnd4eHl6
ent8fH1+fn+AgYGCg4SEhYaHiImJiouMjY6Oj5CRkpOTlJWWl5iZmZqbnJ2en6ChoqOkpaanqKmqq6yt
rq+xsrO0tba3uLq7vL2+wMHDxMbHycrMzs/R0tTW19nb3d7g4uTm6Ors7vDy9Pb4+vz+/wAAbmRpbgAA
AAAAAAY2AACXGgAAVjoAAFPKAACJ3gAAJ8IAABaoAABQDQAAVDkAAiuFAAIZmQABeFEAAwEAAAIAAAAA
AAEABgANABcAIwAxAEAAUgBlAHsAkwCrAMUA4gD/AR8BPwFhAYUBqgHQAfgCIAJLAncCpQLSAwIDMwNl
A5gDzgQFBD0EdQSvBOsFKQVnBacF6AYqBm4GtQb8B0UHkgfkCDkIkAjnCT4JmAn0ClAKrQsLC2sLygwq
DIwM8Q1XDcAOKA6SDv4PbA/bEE0QxBE7EbQSMRKwEzITuRREFNAVYBXxFocXHhfAGGIZBBmsGlQa+RuU
HC4czh1yHhQeux9jIA0gvCFoIhkizyOJJEEk+SW6JnknOygFKMspkypiKzIsASzXLawuhy9gMD4xGzH8
MtszvzSgNYY2cjdcOEw5OTorOxs8CD0EPfU+6z/nQOFB2ELUQ9VE00XcRttH5EjxSgBLCUwdTTFOUE9v
UI9Rt1LdVAVVNlZsV6VY4FohW21ct135X09goGH0Y0tkqGYFZ19oxGova5ptCG54b/BxbnLsdG119Xd/
eQh6knwqfcV/W4D4gpSEO4Xih4CJKorYjIqOOY/jkZuTWJUOlsyYiZpSnB6d4Z+soX+jWqUvpxOo+6rj
rMuuwLC4sra0rra0uL+60LzfvwDBHcLdxLXGhchYyi7MCs3lz7rRmtOA1WPXR9kq2xPc/97s4M/iveSn
5o3obupT7ELuLPAM8fLz0PW396H5f/tZ/T3//wAAAAEAAwALABYAJQA3AE0AZQCBAJ8AwQDlAQsBNQFh
AZABwQH1AisCZAKfAtwDHANfA6MD6gQ0BH8EzQT1BR0FcAXEBhsGdAbPBy0HXAeMB+4IUgi4CSAJVAmK
CfYKZArVC0cLgQu8DDIMqw0mDaIOIQ6hDyQPqRAvELgQ/RFDEc8SXRLuE4AUFRSrFUMV3RZ5FxcXthhY
GPwZoRpIGvEbnBxJHPgdqB5bHw8fxSB9ITch8iKwJDAk8yW3Jn4nRigQKNwpqSp5K0osHCzxLccuoC95
MFUxMzISMvMz1TS5NaA2hzdxOFw5STo4Oyg8Gj4DPvs/9EDuQepD6ETpRexG8Uf3SP9LFEwhTTBOQE9S
UGZSklOrVMVV4Vb/WB5ZP1phW4Vcq13SXvthUmJ/Y69k4GYSZ0dofGm0au1tZG6ib+FxInJlc6l073Y2
d396FXtjfLJ+A39VgKmB/4NWhK+GCYjCiiGLgYzjjkePrJESknuT5Ja8mCuZm5sMnH+d9J9qoOGiWqPV
pVGmz6eOqE6pzqtRrNSuWq/gsWmy8rR+tgu5Kbq6vE294b93wQ7Cp8RBxd3He8kZyrrLisxbzf/Po9FK
0vHUm9ZF1/HZn9tO3Cbc/96x4GTiGePQ5YjnQegf6Pzquex27jbv9/G583z0X/VC9wj40Pqa/GX+Mf//
AAAAAQADAAsAJQA3AE0AZQCBAJ8AwQELATUBYQGQAcEB9QIrAmQCnwLcAxwDXwOjA+oENAR/BM0FHQVw
BcQGGwZ0Bs8HLQeMB+4IUgi4CSAJign2CmQK1QtHC7wMMgyrDSYNog4hDqEPJA+pEC8QuBFDEl0S7hOA
FBUUqxVDFnkXFxe2GFgY/BpIGvEbnBxJHPgdqB8PH8UgfSE3IfIjbyQwJPMltydGKBAo3Cp5K0osHC3H
LqAveTEzMhIy8zS5NaA2hzhcOUk6ODwaPQ4+Az/0QO5C6EPoROlG8Uf3SglLFEwhTkBPUlF7UpJUxVXh
Vv9ZP1phXKtd0mAlYVJjr2TgZhJofGm0au1tZG6ib+FxInJldO92Nnd/eMl6FXyyfgN/VYCpgf+Er4YJ
h2WIwoohi4GOR4+skRKSe5PklVCWvJgrmZubDJx/nfSfaqDholqj1aVRps+oTqnOq1Gs1K2Xrlqv4LFp
svK0frYLt5m5Kbnxurq8Tb3hv3fBDsHawqfEQcUPxd3He8hKyRnKusuKzFvN/87Rz6PQdtFK0vHTxtSb
1kXXG9fx2MjZn9tO3Cbc/93Y3rHfiuBk4hni9ePQ5KzliOZk50HoH+j86drqueuX7HbtVu427xbv9/DX
8bnymvN89F/1QvYl9wj37PjQ+bX6mvt//GX9S/4x//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABIAAAAcAEMAbwBsAG8AcgAgAEwAQwBE
AABtbW9kAAAAAAAABhAAAJxOAAAAAL5zkQAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQg
QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA</bytes>
</object>
</object>
</object>
</object>
<reference key="NSColor" ref="554990453"/>
</object>
<reference key="NSAlternateImage" ref="833787865"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
<object class="NSButtonCell" id="752539680">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Prompt before closing if there are jobs running besides:</string>
<reference key="NSSupport" ref="966507434"/>
<reference key="NSControlView" ref="41217723"/>
<int key="NSTag">2</int>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<reference key="NSAlternateImage" ref="833787865"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
</object>
<string key="NSCellSize">{452, 18}</string>
<string key="NSIntercellSpacing">{4, 2}</string>
<int key="NSMatrixFlags">1151868928</int>
<string key="NSCellClass">NSActionCell</string>
<object class="NSButtonCell" key="NSProtoCell" id="577170668">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Radio</string>
<reference key="NSSupport" ref="966507434"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">0</int>
<object class="NSImage" key="NSNormalImage">
<int key="NSImageFlags">549453824</int>
<string key="NSSize">{18, 18}</string>
<object class="NSMutableArray" key="NSReps">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="0"/>
<object class="NSBitmapImageRep">
<object class="NSData" key="NSTIFFRepresentation">
<bytes key="NS.bytes">TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw
IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/
29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5
dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA
AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG
AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/
0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/
7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/
5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/
3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD
AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns
AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/
6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/
/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/
///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl
YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA
AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD
AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu
AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB
AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS
AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
</object>
</object>
<reference key="NSColor" ref="554990453"/>
</object>
<reference key="NSAlternateImage" ref="833787865"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
<reference key="NSSelectedCell" ref="213146648"/>
<reference key="NSBackgroundColor" ref="303715562"/>
<reference key="NSCellBackgroundColor" ref="392281530"/>
<reference key="NSFont" ref="966507434"/>
</object>
</object>
<string key="NSFrame">{{10, 33}, {486, 404}}</string>
<reference key="NSSuperview" ref="551361709"/>
</object>
<string key="NSLabel">Session</string>
<reference key="NSColor" ref="303715562"/>
Loading
Loading
@@ -6308,7 +6469,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="NSHScroller" ref="812569577"/>
<reference key="NSContentView" ref="97511335"/>
<reference key="NSHeaderClipView" ref="93498484"/>
<reference key="NSCornerView" ref="905967772"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
</object>
<object class="NSButton" id="981472994">
Loading
Loading
@@ -6647,14 +6807,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="NSTabView" ref="551361709"/>
</object>
</object>
<reference key="NSSelectedTabViewItem" ref="1033690595"/>
<reference key="NSSelectedTabViewItem" ref="522484401"/>
<reference key="NSFont" ref="966507434"/>
<int key="NSTvFlags">0</int>
<bool key="NSAllowTruncatedLabels">YES</bool>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="974784023"/>
<reference ref="742837693"/>
</object>
</object>
<object class="NSButton" id="1072403251">
Loading
Loading
@@ -6785,7 +6945,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
<string key="NSFrameSize">{818, 434}</string>
<reference key="NSSuperview" ref="415305200"/>
</object>
<string key="NSLabel">Bookmarks</string>
<reference key="NSColor" ref="303715562"/>
Loading
Loading
@@ -8242,14 +8401,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="NSTabView" ref="415305200"/>
</object>
</object>
<reference key="NSSelectedTabViewItem" ref="745611275"/>
<reference key="NSSelectedTabViewItem" ref="403608584"/>
<reference key="NSFont" ref="966507434"/>
<int key="NSTvFlags">6</int>
<bool key="NSAllowTruncatedLabels">YES</bool>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="105539794"/>
<reference ref="505411774"/>
</object>
</object>
</object>
Loading
Loading
@@ -9160,7 +9319,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<object class="NSView" key="NSWindowView" id="234439939">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
Loading
Loading
@@ -9169,7 +9328,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 362}, {438, 17}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="259518439">
<int key="NSCellFlags">68288064</int>
Loading
Loading
@@ -9186,7 +9344,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 303}, {200, 17}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="601000691">
<int key="NSCellFlags">68288064</int>
Loading
Loading
@@ -9203,7 +9360,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{30, 338}, {63, 18}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="261652169">
<int key="NSCellFlags">67239424</int>
Loading
Loading
@@ -9226,7 +9382,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{97, 338}, {51, 18}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="64416722">
<int key="NSCellFlags">67239424</int>
Loading
Loading
@@ -9249,7 +9404,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{154, 338}, {72, 18}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="64084554">
<int key="NSCellFlags">67239424</int>
Loading
Loading
@@ -9272,7 +9426,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{234, 338}, {78, 18}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="464520681">
<int key="NSCellFlags">67239424</int>
Loading
Loading
@@ -9295,7 +9448,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{321, 338}, {57, 18}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="322594743">
<int key="NSCellFlags">67239424</int>
Loading
Loading
@@ -9318,7 +9470,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{382, 338}, {72, 18}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="335215434">
<int key="NSCellFlags">67239424</int>
Loading
Loading
@@ -9341,7 +9492,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">12</int>
<string key="NSFrame">{{32, 60}, {420, 235}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<string key="NSClassName">BookmarkListView</string>
</object>
<object class="NSButton" id="150370130">
Loading
Loading
@@ -9349,7 +9499,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{362, 12}, {96, 32}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="451282784">
<int key="NSCellFlags">67239424</int>
Loading
Loading
@@ -9370,7 +9519,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{266, 12}, {96, 32}}</string>
<reference key="NSSuperview" ref="234439939"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="972981165">
<int key="NSCellFlags">-2080244224</int>
Loading
Loading
@@ -9388,8 +9536,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
<string key="NSFrameSize">{472, 398}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
Loading
Loading
@@ -9417,14 +9563,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<int key="connectionID">2803</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">promptOnClose</string>
<reference key="source" ref="155244235"/>
<reference key="destination" ref="731456277"/>
</object>
<int key="connectionID">2805</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">onlyWhenMoreTabs</string>
Loading
Loading
@@ -9489,14 +9627,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<int key="connectionID">2824</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">settingChanged:</string>
<reference key="source" ref="155244235"/>
<reference key="destination" ref="731456277"/>
</object>
<int key="connectionID">2825</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">settingChanged:</string>
Loading
Loading
@@ -12049,22 +12179,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<int key="connectionID">5180</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">nextKeyView</string>
<reference key="source" ref="933039179"/>
<reference key="destination" ref="731456277"/>
</object>
<int key="connectionID">5181</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">nextKeyView</string>
<reference key="source" ref="731456277"/>
<reference key="destination" ref="289241343"/>
</object>
<int key="connectionID">5182</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">nextKeyView</string>
Loading
Loading
@@ -13569,6 +13683,94 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<int key="connectionID">5718</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">jobsTable_</string>
<reference key="source" ref="155244235"/>
<reference key="destination" ref="994140735"/>
</object>
<int key="connectionID">5719</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="994140735"/>
<reference key="destination" ref="155244235"/>
</object>
<int key="connectionID">5720</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="994140735"/>
<reference key="destination" ref="155244235"/>
</object>
<int key="connectionID">5721</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">addJob:</string>
<reference key="source" ref="155244235"/>
<reference key="destination" ref="670298602"/>
</object>
<int key="connectionID">5722</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">removeJobButton_</string>
<reference key="source" ref="155244235"/>
<reference key="destination" ref="235544390"/>
</object>
<int key="connectionID">5723</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">removeJob:</string>
<reference key="source" ref="155244235"/>
<reference key="destination" ref="235544390"/>
</object>
<int key="connectionID">5724</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">enabled: haveJobsForCurrentBookmark</string>
<reference key="source" ref="235544390"/>
<reference key="destination" ref="155244235"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="235544390"/>
<reference key="NSDestination" ref="155244235"/>
<string key="NSLabel">enabled: haveJobsForCurrentBookmark</string>
<string key="NSBinding">enabled</string>
<string key="NSKeyPath">haveJobsForCurrentBookmark</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">5727</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">promptBeforeClosing_</string>
<reference key="source" ref="155244235"/>
<reference key="destination" ref="41217723"/>
</object>
<int key="connectionID">5733</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">bookmarkSettingChanged:</string>
<reference key="source" ref="155244235"/>
<reference key="destination" ref="41217723"/>
</object>
<int key="connectionID">5734</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">closeSessionsOnEnd</string>
<reference key="source" ref="155244235"/>
<reference key="destination" ref="833246210"/>
</object>
<int key="connectionID">5737</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
Loading
Loading
@@ -15863,8 +16065,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference ref="456524192"/>
<reference ref="737790780"/>
<reference ref="544158209"/>
<reference ref="289241343"/>
<reference ref="731456277"/>
<reference ref="841448004"/>
<reference ref="933039179"/>
<reference ref="460179065"/>
Loading
Loading
@@ -15881,8 +16081,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference ref="393388698"/>
<reference ref="731675876"/>
<reference ref="856582882"/>
<reference ref="551932464"/>
<reference ref="563450424"/>
<reference ref="289241343"/>
<reference ref="551932464"/>
<reference ref="916346445"/>
</object>
<reference key="parent" ref="403608584"/>
Loading
Loading
@@ -16148,20 +16349,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="object" ref="200574360"/>
<reference key="parent" ref="289241343"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1994</int>
<reference key="object" ref="731456277"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="223258540"/>
</object>
<reference key="parent" ref="505411774"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1995</int>
<reference key="object" ref="223258540"/>
<reference key="parent" ref="731456277"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4568</int>
<reference key="object" ref="841448004"/>
Loading
Loading
@@ -19199,8 +19386,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="object" ref="742837693"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="63636012"/>
<reference ref="931011790"/>
<reference ref="670298602"/>
<reference ref="235544390"/>
<reference ref="878545814"/>
Loading
Loading
@@ -19212,23 +19397,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference ref="580965938"/>
<reference ref="833246210"/>
<reference ref="868275361"/>
<reference ref="931011790"/>
<reference ref="41217723"/>
</object>
<reference key="parent" ref="522484401"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5656</int>
<reference key="object" ref="63636012"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="227293614"/>
</object>
<reference key="parent" ref="742837693"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5657</int>
<reference key="object" ref="227293614"/>
<reference key="parent" ref="63636012"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5658</int>
<reference key="object" ref="931011790"/>
Loading
Loading
@@ -19450,6 +19623,38 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="object" ref="335215434"/>
<reference key="parent" ref="540437671"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5728</int>
<reference key="object" ref="41217723"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="213146648"/>
<reference ref="980285124"/>
<reference ref="577170668"/>
<reference ref="752539680"/>
</object>
<reference key="parent" ref="742837693"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5729</int>
<reference key="object" ref="213146648"/>
<reference key="parent" ref="41217723"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5730</int>
<reference key="object" ref="980285124"/>
<reference key="parent" ref="41217723"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5731</int>
<reference key="object" ref="577170668"/>
<reference key="parent" ref="41217723"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5732</int>
<reference key="object" ref="752539680"/>
<reference key="parent" ref="41217723"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
Loading
Loading
@@ -19491,9 +19696,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>1991.IBPluginDependency</string>
<string>1992.IBPluginDependency</string>
<string>1993.IBPluginDependency</string>
<string>1994.IBPluginDependency</string>
<string>1994.IBViewBoundsToFrameTransform</string>
<string>1995.IBPluginDependency</string>
<string>1996.IBPluginDependency</string>
<string>1996.IBViewBoundsToFrameTransform</string>
<string>1997.IBPluginDependency</string>
Loading
Loading
@@ -20609,9 +20811,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>5650.ImportedFromIB2</string>
<string>5651.IBPluginDependency</string>
<string>5651.ImportedFromIB2</string>
<string>5656.IBPluginDependency</string>
<string>5657.IBPluginDependency</string>
<string>5658.IBPluginDependency</string>
<string>5658.IBViewBoundsToFrameTransform</string>
<string>5659.IBPluginDependency</string>
<string>5660.IBPluginDependency</string>
<string>5661.IBPluginDependency</string>
Loading
Loading
@@ -20658,6 +20859,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>5711.IBPluginDependency</string>
<string>5711.IBViewBoundsToFrameTransform</string>
<string>5712.IBPluginDependency</string>
<string>5728.IBPluginDependency</string>
<string>5728.IBViewBoundsToFrameTransform</string>
<string>5729.IBPluginDependency</string>
<string>5730.IBPluginDependency</string>
<string>5731.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
Loading
Loading
@@ -20711,12 +20917,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABCrAAAwu4AAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABC4gAAwsYAAA</bytes>
<bytes key="NSTransformStruct">P4AAAL+AAABCtgAAw5AAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
Loading
Loading
@@ -22108,12 +22309,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABEEUAAwpoAAA</bytes>
<bytes key="NSTransformStruct">P4AAAL+AAABDJQAAwbAAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDzIAAwkgAAA</bytes>
<bytes key="NSTransformStruct">P4AAAL+AAABDgIAAwbAAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
Loading
Loading
@@ -22123,8 +22324,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABCEAAAw6UAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
Loading
Loading
@@ -22195,6 +22397,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<bytes key="NSTransformStruct">P4AAAL+AAABDrQAAw6OAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABBiAAAw7AAAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
Loading
Loading
@@ -22213,7 +22422,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">5718</int>
<int key="maxID">5737</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
Loading
Loading
@@ -22330,6 +22539,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>_commonDisplaySelectFont:</string>
<string>actionChanged:</string>
<string>addBookmark:</string>
<string>addJob:</string>
<string>addNewMapping:</string>
<string>bookmarkSettingChanged:</string>
<string>bookmarkUrlSchemeHandlerChanged:</string>
Loading
Loading
@@ -22348,6 +22558,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>presetKeyMappingsItemSelected:</string>
<string>pushToCustomFolder:</string>
<string>removeBookmark:</string>
<string>removeJob:</string>
<string>removeMapping:</string>
<string>saveKeyMapping:</string>
<string>selectLogDir:</string>
Loading
Loading
@@ -22392,6 +22603,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
Loading
Loading
@@ -22401,6 +22614,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>_commonDisplaySelectFont:</string>
<string>actionChanged:</string>
<string>addBookmark:</string>
<string>addJob:</string>
<string>addNewMapping:</string>
<string>bookmarkSettingChanged:</string>
<string>bookmarkUrlSchemeHandlerChanged:</string>
Loading
Loading
@@ -22419,6 +22633,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>presetKeyMappingsItemSelected:</string>
<string>pushToCustomFolder:</string>
<string>removeBookmark:</string>
<string>removeJob:</string>
<string>removeMapping:</string>
<string>saveKeyMapping:</string>
<string>selectLogDir:</string>
Loading
Loading
@@ -22444,6 +22659,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="name">addBookmark:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">addJob:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">addNewMapping:</string>
<string key="candidateClassName">id</string>
Loading
Loading
@@ -22516,6 +22735,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="name">removeBookmark:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">removeJob:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">removeMapping:</string>
<string key="candidateClassName">id</string>
Loading
Loading
@@ -22692,6 +22915,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>instantReplay</string>
<string>irMemory</string>
<string>jobName</string>
<string>jobsTable_</string>
<string>keyCombinationColumn</string>
<string>keyMappings</string>
<string>keyPress</string>
Loading
Loading
@@ -22725,11 +22949,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>presetsMenu</string>
<string>presetsPopupButton</string>
<string>profileLabel</string>
<string>promptBeforeClosing_</string>
<string>promptOnClose</string>
<string>promptOnQuit</string>
<string>pushToCustomFolder</string>
<string>quitWhenAllWindowsClosed</string>
<string>removeBookmarkButton</string>
<string>removeJobButton_</string>
<string>removeMappingButton</string>
<string>rightCommandButton</string>
<string>rightOptionButton</string>
Loading
Loading
@@ -22911,6 +23137,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>NSButton</string>
<string>NSTextField</string>
<string>NSButton</string>
<string>NSTableView</string>
<string>NSTableColumn</string>
<string>NSTableView</string>
<string>NSTextField</string>
Loading
Loading
@@ -22944,12 +23171,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>NSMenu</string>
<string>NSPopUpButton</string>
<string>NSTextField</string>
<string>NSMatrix</string>
<string>id</string>
<string>id</string>
<string>NSButton</string>
<string>NSButton</string>
<string>NSButton</string>
<string>NSButton</string>
<string>NSButton</string>
<string>NSPopUpButton</string>
<string>NSPopUpButton</string>
<string>NSMatrix</string>
Loading
Loading
@@ -23133,6 +23362,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>instantReplay</string>
<string>irMemory</string>
<string>jobName</string>
<string>jobsTable_</string>
<string>keyCombinationColumn</string>
<string>keyMappings</string>
<string>keyPress</string>
Loading
Loading
@@ -23166,11 +23396,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>presetsMenu</string>
<string>presetsPopupButton</string>
<string>profileLabel</string>
<string>promptBeforeClosing_</string>
<string>promptOnClose</string>
<string>promptOnQuit</string>
<string>pushToCustomFolder</string>
<string>quitWhenAllWindowsClosed</string>
<string>removeBookmarkButton</string>
<string>removeJobButton_</string>
<string>removeMappingButton</string>
<string>rightCommandButton</string>
<string>rightOptionButton</string>
Loading
Loading
@@ -23742,6 +23974,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="name">jobName</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">jobsTable_</string>
<string key="candidateClassName">NSTableView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">keyCombinationColumn</string>
<string key="candidateClassName">NSTableColumn</string>
Loading
Loading
@@ -23874,6 +24110,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="name">profileLabel</string>
<string key="candidateClassName">NSTextField</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">promptBeforeClosing_</string>
<string key="candidateClassName">NSMatrix</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">promptOnClose</string>
<string key="candidateClassName">id</string>
Loading
Loading
@@ -23894,6 +24134,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="name">removeBookmarkButton</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">removeJobButton_</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">removeMappingButton</string>
<string key="candidateClassName">NSButton</string>
Loading
Loading
@@ -49,6 +49,8 @@ typedef struct {
+ (BookmarkModel*)sharedInstance;
+ (BookmarkModel*)sessionsInstance;
+ (NSString*)freshGuid;
+ (void)migratePromptOnCloseInMutableBookmark:(NSMutableDictionary *)dict;
+ (BOOL)migrated;
- (int)numberOfBookmarks;
- (int)numberOfBookmarksWithFilter:(NSString*)filter;
- (NSArray*)bookmarkIndicesMatchingFilter:(NSString*)filter;
Loading
Loading
Loading
Loading
@@ -202,7 +202,7 @@ static const float kBackgroundSessionIntervalSec = 1;
 
// Time session was created
NSDate* creationDate_;
// After receiving new output, we keep running the updateDisplay timer for a few seconds to catch
// changes in job name.
NSDate* updateDisplayUntil_;
Loading
Loading
@@ -297,6 +297,11 @@ static const float kBackgroundSessionIntervalSec = 1;
// misc
- (void)setWidth:(int)width height:(int)height;
 
// Do we need to prompt on close for this session?
- (BOOL)promptOnClose;
// Array of subprocessess names.
- (NSArray *)childJobNames;
 
// Contextual menu
- (void)menuForEvent:(NSEvent *)theEvent menu: (NSMenu *)theMenu;
Loading
Loading
Loading
Loading
@@ -43,6 +43,14 @@
#define MOD_TAG_LEFT_COMMAND 7
#define MOD_TAG_RIGHT_COMMAND 8
 
// Constants for KEY_PROMPT_CLOSE
// Never prompt on close
#define PROMPT_NEVER 0
// Always prompt on close
#define PROMPT_ALWAYS 1
// Prompt on close if jobs (excluding some in a list) are running.
#define PROMPT_EX_JOBS 2
@class iTermController;
 
typedef enum { CURSOR_UNDERLINE, CURSOR_VERTICAL, CURSOR_BOX } ITermCursorType;
Loading
Loading
@@ -88,10 +96,6 @@ typedef enum { CURSOR_UNDERLINE, CURSOR_VERTICAL, CURSOR_BOX } ITermCursorType;
IBOutlet id hideTab;
BOOL defaultHideTab;
 
// Warn me when a session closes
IBOutlet id promptOnClose;
BOOL defaultPromptOnClose;
// Warn when quitting
IBOutlet id promptOnQuit;
BOOL defaultPromptOnQuit;
Loading
Loading
@@ -402,15 +406,9 @@ typedef enum { CURSOR_UNDERLINE, CURSOR_VERTICAL, CURSOR_BOX } ITermCursorType;
IBOutlet NSButton* disablePrinting;
IBOutlet NSButton* scrollbackWithStatusBar;
IBOutlet NSButton* bookmarkGrowlNotifications;
IBOutlet NSButton *autoLog;
IBOutlet NSTextField *logDir;
IBOutlet NSButton *changeLogDir;
IBOutlet NSImageView *logDirWarning;
IBOutlet NSTextField* scrollbackLines;
IBOutlet NSButton* unlimitedScrollback;
IBOutlet NSComboBox* terminalType;
IBOutlet NSButton* sendCodeWhenIdle;
IBOutlet NSTextField* idleCode;
IBOutlet NSPopUpButton* characterEncoding;
 
// Keyboard tab
Loading
Loading
@@ -439,6 +437,17 @@ typedef enum { CURSOR_UNDERLINE, CURSOR_VERTICAL, CURSOR_BOX } ITermCursorType;
IBOutlet NSPopUpButton* bookmarksPopup;
IBOutlet NSButton* addNewMapping;
 
// Session --------------------------------
IBOutlet NSTableView *jobsTable_;
IBOutlet NSButton *autoLog;
IBOutlet NSTextField *logDir;
IBOutlet NSButton *changeLogDir;
IBOutlet NSImageView *logDirWarning;
IBOutlet NSButton* sendCodeWhenIdle;
IBOutlet NSTextField* idleCode;
IBOutlet NSButton* removeJobButton_;
IBOutlet NSMatrix* promptBeforeClosing_;
// Copy Bookmark Settings...
IBOutlet NSTextField* bulkCopyLabel;
IBOutlet NSPanel* copyPanel;
Loading
Loading
@@ -493,6 +502,7 @@ typedef enum {
+ (PreferencePanel*)sharedInstance;
+ (PreferencePanel*)sessionsInstance;
+ (BOOL)migratePreferences;
+ (BOOL)loadingPrefsFromCustomFolder;
- (BOOL)loadPrefs;
- (id)initWithDataSource:(BookmarkModel*)model userDefaults:(NSUserDefaults*)userDefaults;
- (void)setOneBokmarkOnly;
Loading
Loading
@@ -500,6 +510,8 @@ typedef enum {
- (void)handleWindowWillCloseNotification:(NSNotification *)notification;
- (void)genericCloseSheet:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo;
- (void)editKeyMapping:(id)sender;
- (IBAction)addJob:(id)sender;
- (IBAction)removeJob:(id)sender;
- (IBAction)saveKeyMapping:(id)sender;
- (BOOL)keySheetIsOpen;
- (WindowArrangements *)arrangements;
Loading
Loading
@@ -529,7 +541,6 @@ typedef enum {
- (void)setTabViewType:(NSTabViewType)type;
- (NSTabViewType)tabViewType;
- (int)windowStyle;
- (BOOL)promptOnClose;
- (BOOL)promptOnQuit;
- (BOOL)onlyWhenMoreTabs;
- (BOOL)focusFollowsMouse;
Loading
Loading
@@ -662,3 +673,8 @@ typedef enum {
 
@end
 
@interface PreferencePanel (KeyValueCoding)
- (BOOL)haveJobsForCurrentBookmark;
- (void)setHaveJobsForCurrentBookmark:(BOOL)value;
@end
Loading
Loading
@@ -405,6 +405,9 @@ typedef enum {
// Can progress indicators be shown? They're turned off during animation of the tabbar.
- (BOOL)disableProgressIndicators;
 
// Does any session want to be prompted for closing?
- (BOOL)promptOnClose;
////////////////////////////////////////////////////////////////////////////////
// NSTextField Delegate Methods
 
Loading
Loading
Loading
Loading
@@ -132,10 +132,14 @@
#define KEY_SCROLLBACK_LINES @"Scrollback Lines"
#define KEY_UNLIMITED_SCROLLBACK @"Unlimited Scrollback"
#define KEY_TERMINAL_TYPE @"Terminal Type"
#define KEY_SEND_CODE_WHEN_IDLE @"Send Code When Idle"
#define KEY_IDLE_CODE @"Idle Code"
// Session
#define KEY_AUTOLOG @"Automatically Log"
#define KEY_LOGDIR @"Log Directory"
#define KEY_SEND_CODE_WHEN_IDLE @"Send Code When Idle"
#define KEY_IDLE_CODE @"Idle Code"
#define KEY_PROMPT_CLOSE @"Prompt Before Closing"
#define KEY_JOBS @"Jobs to Ignore"
 
// Keyboard
#define KEY_KEYBOARD_MAP @"Keyboard Map"
Loading
Loading
Loading
Loading
@@ -424,6 +424,48 @@ static NSString* SESSION_ARRANGEMENT_WORKING_DIRECTORY = @"Working Directory";
[TEXTVIEW clearHighlights];
}
 
- (NSArray *)childJobNames
{
int skip = 0;
pid_t thePid = [SHELL pid];
if ([[[ProcessCache sharedInstance] getNameOfPid:thePid isForeground:nil] isEqualToString:@"login"]) {
skip = 1;
}
NSMutableArray *names = [NSMutableArray array];
for (NSNumber *n in [[ProcessCache sharedInstance] childrenOfPid:thePid levelsToSkip:skip]) {
pid_t pid = [n intValue];
NSDictionary *info = [[ProcessCache sharedInstance] dictionaryOfTaskInfoForPid:pid];
[names addObject:[info objectForKey:PID_INFO_NAME]];
}
return names;
}
- (BOOL)promptOnClose
{
if (EXIT) {
return NO;
}
switch ([[addressBookEntry objectForKey:KEY_PROMPT_CLOSE] intValue]) {
case PROMPT_ALWAYS:
return YES;
case PROMPT_NEVER:
return NO;
case PROMPT_EX_JOBS: {
NSArray *jobsThatDontRequirePrompting = [addressBookEntry objectForKey:KEY_JOBS];
for (NSString *childName in [self childJobNames]) {
if ([jobsThatDontRequirePrompting indexOfObject:childName] == NSNotFound) {
// This job is not in the ignore list.
return YES;
}
}
// All jobs were in the ignore list.
return NO;
}
}
}
- (void)setNewOutput:(BOOL)value
{
newOutput = value;
Loading
Loading
@@ -2499,12 +2541,18 @@ static NSString* SESSION_ARRANGEMENT_WORKING_DIRECTORY = @"Working Directory";
 
- (void)setAddressBookEntry:(NSDictionary*)entry
{
NSMutableDictionary *dict = [[entry mutableCopy] autorelease];
// This is the most practical way to migrate the bopy of a
// profile that's stored in a saved window arrangement. It doesn't get
// saved back into the arrangement, unfortunately.
[BookmarkModel migratePromptOnCloseInMutableBookmark:dict];
if (!originalAddressBookEntry) {
originalAddressBookEntry = [NSDictionary dictionaryWithDictionary:entry];
originalAddressBookEntry = [NSDictionary dictionaryWithDictionary:dict];
[originalAddressBookEntry retain];
}
[addressBookEntry release];
addressBookEntry = [entry retain];
addressBookEntry = [dict retain];
}
 
- (NSDictionary *)addressBookEntry
Loading
Loading
Loading
Loading
@@ -186,6 +186,8 @@ static const int MIN_SESSION_COLUMNS = 2;
- (BOOL)hasMaximizedPane;
- (void)maximize;
- (void)unmaximize;
// Does any session in this tab require prompt on close?
- (BOOL)promptOnClose;
 
#pragma mark NSSplitView delegate methods
- (void)splitViewDidResizeSubviews:(NSNotification *)aNotification;
Loading
Loading
Loading
Loading
@@ -1955,6 +1955,16 @@ static NSString* FormatRect(NSRect r) {
[[root_ window] makeFirstResponder:[activeSession_ TEXTVIEW]];
}
 
- (BOOL)promptOnClose
{
for (PTYSession *aSession in [self sessions]) {
if ([aSession promptOnClose]) {
return YES;
}
}
return NO;
}
#pragma mark NSSplitView delegate methods
 
// Prevent any session from becoming smaller than its minimum size because of
Loading
Loading
Loading
Loading
@@ -97,8 +97,8 @@ static float versionNumber;
Static method to copy old preferences file, iTerm.plist or net.sourceforge.iTerm.plist, to new
preferences file, com.googlecode.iterm2.plist
*/
+ (BOOL) migratePreferences {
+ (BOOL)migratePreferences
{
NSString *prefDir = [[NSHomeDirectory()
stringByAppendingPathComponent:@"Library"]
stringByAppendingPathComponent:@"Preferences"];
Loading
Loading
@@ -972,7 +972,6 @@ static float versionNumber;
defaultPasteFromClipboard=[prefs objectForKey:@"PasteFromClipboard"]?[[prefs objectForKey:@"PasteFromClipboard"] boolValue]:YES;
defaultHideTab=[prefs objectForKey:@"HideTab"]?[[prefs objectForKey:@"HideTab"] boolValue]: YES;
defaultPromptOnQuit = [prefs objectForKey:@"PromptOnQuit"]?[[prefs objectForKey:@"PromptOnQuit"] boolValue]: YES;
defaultPromptOnClose = [prefs objectForKey:@"PromptOnClose"]?[[prefs objectForKey:@"PromptOnClose"] boolValue]: YES;
defaultOnlyWhenMoreTabs = [prefs objectForKey:@"OnlyWhenMoreTabs"]?[[prefs objectForKey:@"OnlyWhenMoreTabs"] boolValue]: YES;
defaultFocusFollowsMouse = [prefs objectForKey:@"FocusFollowsMouse"]?[[prefs objectForKey:@"FocusFollowsMouse"] boolValue]: NO;
defaultHotkeyTogglesWindow = [prefs objectForKey:@"HotKeyTogglesWindow"]?[[prefs objectForKey:@"HotKeyTogglesWindow"] boolValue]: NO;
Loading
Loading
@@ -1036,29 +1035,6 @@ static float versionNumber;
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"SUFeedURLForFinal"];
[prefs setObject:appCast forKey:@"SUFeedURL"];
 
if ([[prefs objectForKey:@"DeleteSendsCtrlH"] boolValue]) {
// Migrate legacy global "delete sends ^h setting" to each bookmark's
// keymap. We change the array while looping over it, but only in a
// safe way--modifying the pointer of an item we'll never look at again.
// To avoid bogus errors, we enumerate it manually.
// The legacy setting existed only around Alpha 17.
NSArray* bookmarks = [[BookmarkModel sharedInstance] bookmarks];
for (int i = 0; i < [bookmarks count]; i++) {
Bookmark* bookmark = [bookmarks objectAtIndex:i];
NSString* text;
if ([iTermKeyBindingMgr localActionForKeyCode:0x7f
modifiers:0
text:&text
keyMappings:[bookmark objectForKey:KEY_KEYBOARD_MAP]] == -1) {
// Bookmark does not map delete key at all. Add a ^H map.
NSMutableDictionary* temp = [NSMutableDictionary dictionaryWithDictionary:bookmark];
[self _setDeleteKeyMapToCtrlH:YES inBookmark:temp];
[[BookmarkModel sharedInstance] setBookmark:temp atIndex:i];
}
}
[prefs removeObjectForKey:@"DeleteSendsCtrlH"];
}
// Migrate old-style (iTerm 0.x) URL handlers.
// make sure bookmarks are loaded
[ITAddressBookMgr sharedInstance];
Loading
Loading
@@ -1113,7 +1089,6 @@ static float versionNumber;
[prefs setInteger:defaultWindowStyle forKey:@"WindowStyle"];
[prefs setInteger:defaultTabViewType forKey:@"TabViewType"];
[prefs setBool:defaultPromptOnQuit forKey:@"PromptOnQuit"];
[prefs setBool:defaultPromptOnClose forKey:@"PromptOnClose"];
[prefs setBool:defaultOnlyWhenMoreTabs forKey:@"OnlyWhenMoreTabs"];
[prefs setBool:defaultFocusFollowsMouse forKey:@"FocusFollowsMouse"];
[prefs setBool:defaultHotkeyTogglesWindow forKey:@"HotKeyTogglesWindow"];
Loading
Loading
@@ -1196,10 +1171,8 @@ static float versionNumber;
[selectionCopiesText setState:defaultCopySelection?NSOnState:NSOffState];
[middleButtonPastesFromClipboard setState:defaultPasteFromClipboard?NSOnState:NSOffState];
[hideTab setState:defaultHideTab?NSOnState:NSOffState];
[promptOnClose setState:defaultPromptOnClose?NSOnState:NSOffState];
[promptOnQuit setState:defaultPromptOnQuit?NSOnState:NSOffState];
[onlyWhenMoreTabs setState:defaultOnlyWhenMoreTabs?NSOnState:NSOffState];
[onlyWhenMoreTabs setEnabled: defaultPromptOnClose];
[focusFollowsMouse setState: defaultFocusFollowsMouse?NSOnState:NSOffState];
[hotkeyTogglesWindow setState: defaultHotkeyTogglesWindow?NSOnState:NSOffState];
[self _populateHotKeyBookmarksMenu];
Loading
Loading
@@ -1467,10 +1440,8 @@ static float versionNumber;
defaultFsTabDelay = [fsTabDelay floatValue];
defaultCopySelection=([selectionCopiesText state]==NSOnState);
defaultPasteFromClipboard=([middleButtonPastesFromClipboard state]==NSOnState);
defaultPromptOnClose = ([promptOnClose state] == NSOnState);
defaultPromptOnQuit = ([promptOnQuit state] == NSOnState);
defaultOnlyWhenMoreTabs = ([onlyWhenMoreTabs state] == NSOnState);
[onlyWhenMoreTabs setEnabled: defaultPromptOnClose];
defaultFocusFollowsMouse = ([focusFollowsMouse state] == NSOnState);
defaultHotkeyTogglesWindow = ([hotkeyTogglesWindow state] == NSOnState);
[defaultHotKeyBookmarkGuid release];
Loading
Loading
@@ -1626,11 +1597,6 @@ static float versionNumber;
return defaultWindowStyle;
}
 
- (BOOL)promptOnClose
{
return defaultPromptOnClose;
}
- (BOOL)promptOnQuit
{
return defaultPromptOnQuit;
Loading
Loading
@@ -1960,6 +1926,11 @@ static float versionNumber;
return remotePrefs;
}
 
+ (BOOL)loadingPrefsFromCustomFolder
{
return [[NSUserDefaults standardUserDefaults] objectForKey:@"LoadPrefsFromCustomFolder"] ? [[[NSUserDefaults standardUserDefaults] objectForKey:@"LoadPrefsFromCustomFolder"] boolValue] : NO;
}
- (BOOL)loadPrefs
{
static BOOL done;
Loading
Loading
@@ -1968,7 +1939,7 @@ static float versionNumber;
}
done = YES;
 
BOOL doLoad = [prefs objectForKey:@"LoadPrefsFromCustomFolder"] ? [[prefs objectForKey:@"LoadPrefsFromCustomFolder"] boolValue] : NO;
BOOL doLoad = [PreferencePanel loadingPrefsFromCustomFolder];
if (!doLoad) {
return YES;
}
Loading
Loading
@@ -2152,6 +2123,14 @@ static float versionNumber;
return [iTermKeyBindingMgr numberOfMappingsForBookmark:bookmark];
} else if (aTableView == globalKeyMappings) {
return [[iTermKeyBindingMgr globalKeyMap] count];
} else if (aTableView == jobsTable_) {
NSString* guid = [bookmarksTableView selectedGuid];
if (!guid) {
return 0;
}
Bookmark* bookmark = [dataSource bookmarkWithGuid:guid];
NSArray *jobNames = [bookmark objectForKey:KEY_JOBS];
return [jobNames count];
}
// We can only get here while loading the nib (on some machines, this function is called
// before the IBOutlets are populated).
Loading
Loading
@@ -2201,6 +2180,21 @@ static float versionNumber;
[keyMappings reloadData];
}
 
- (void)tableView:(NSTableView *)aTableView
setObjectValue:(id)anObject
forTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex
{
if (aTableView == jobsTable_) {
NSString* guid = [bookmarksTableView selectedGuid];
Bookmark* bookmark = [dataSource bookmarkWithGuid:guid];
NSMutableArray *jobs = [NSMutableArray arrayWithArray:[bookmark objectForKey:KEY_JOBS]];
[jobs replaceObjectAtIndex:rowIndex withObject:anObject];
[dataSource setObject:jobs forKey:KEY_JOBS inBookmark:bookmark];
}
[self bookmarkSettingChanged:nil];
}
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex
{
if (aTableView == keyMappings) {
Loading
Loading
@@ -2220,6 +2214,10 @@ static float versionNumber;
} else if (aTableColumn == globalActionColumn) {
return [iTermKeyBindingMgr formatAction:[iTermKeyBindingMgr globalMappingAtIndex:rowIndex]];
}
} else if (aTableView == jobsTable_) {
NSString* guid = [bookmarksTableView selectedGuid];
Bookmark* bookmark = [dataSource bookmarkWithGuid:guid];
return [[bookmark objectForKey:KEY_JOBS] objectAtIndex:rowIndex];
}
// Shouldn't get here but must return something to avoid a warning.
return nil;
Loading
Loading
@@ -2565,6 +2563,9 @@ static float versionNumber;
BOOL sendCH = [self _deleteSendsCtrlHInBookmark:dict];
[deleteSendsCtrlHButton setState:sendCH ? NSOnState : NSOffState];
 
// Session tab
[promptBeforeClosing_ selectCellWithTag:[[dict objectForKey:KEY_PROMPT_CLOSE] intValue]];
// Epilogue
[bookmarksTableView reloadData];
[copyTo reloadData];
Loading
Loading
@@ -2973,6 +2974,13 @@ static float versionNumber;
BOOL sendCH = [self _deleteSendsCtrlHInBookmark:newDict];
[deleteSendsCtrlHButton setState:sendCH ? NSOnState : NSOffState];
}
// Session tab
[newDict setObject:[NSNumber numberWithInt:[[promptBeforeClosing_ selectedCell] tag]]
forKey:KEY_PROMPT_CLOSE];
[newDict setObject:[origBookmark objectForKey:KEY_JOBS] ? [origBookmark objectForKey:KEY_JOBS] : [NSArray array]
forKey:KEY_JOBS];
// Epilogue
[dataSource setBookmark:newDict withGuid:guid];
[bookmarksTableView reloadData];
Loading
Loading
@@ -3039,6 +3047,7 @@ static float versionNumber;
[self updateBookmarkFields:[dataSource bookmarkWithGuid:guid]];
}
}
[self setHaveJobsForCurrentBookmark:[self haveJobsForCurrentBookmark]];
}
 
- (void)bookmarkTableRowSelected:(id)bookmarkTable
Loading
Loading
@@ -3064,9 +3073,64 @@ static float versionNumber;
} else {
[globalRemoveMappingButton setEnabled:NO];
}
} else if ([aNotification object] == jobsTable_) {
[self setHaveJobsForCurrentBookmark:[self haveJobsForCurrentBookmark]];
}
}
 
- (IBAction)addJob:(id)sender
{
NSString* guid = [bookmarksTableView selectedGuid];
if (!guid) {
return;
}
Bookmark* bookmark = [dataSource bookmarkWithGuid:guid];
NSArray *jobNames = [bookmark objectForKey:KEY_JOBS];
NSMutableArray *augmented;
if (jobNames) {
augmented = [NSMutableArray arrayWithArray:jobNames];
[augmented addObject:@"Job Name"];
} else {
augmented = [NSArray arrayWithObject:@"Job Name"];
}
[dataSource setObject:augmented forKey:KEY_JOBS inBookmark:bookmark];
[jobsTable_ reloadData];
[jobsTable_ selectRowIndexes:[NSIndexSet indexSetWithIndex:[augmented count] - 1]
byExtendingSelection:NO];
[jobsTable_ editColumn:0
row:[self numberOfRowsInTableView:jobsTable_] - 1
withEvent:nil
select:YES];
[self setHaveJobsForCurrentBookmark:[self haveJobsForCurrentBookmark]];
[self bookmarkSettingChanged:nil];
}
- (IBAction)removeJob:(id)sender
{
// Causes editing to end. If you try to remove a cell that is being edited,
// it tries to dereference the deleted cell. There doesn't seem to be an
// API that explicitly ends editing.
[jobsTable_ reloadData];
NSInteger selectedIndex = [jobsTable_ selectedRow];
if (selectedIndex < 0) {
return;
}
NSString* guid = [bookmarksTableView selectedGuid];
if (!guid) {
return;
}
Bookmark* bookmark = [dataSource bookmarkWithGuid:guid];
NSArray *jobNames = [bookmark objectForKey:KEY_JOBS];
NSMutableArray *mod = [NSMutableArray arrayWithArray:jobNames];
[mod removeObjectAtIndex:selectedIndex];
[dataSource setObject:mod forKey:KEY_JOBS inBookmark:bookmark];
[jobsTable_ reloadData];
[self setHaveJobsForCurrentBookmark:[self haveJobsForCurrentBookmark]];
[self bookmarkSettingChanged:nil];
}
- (IBAction)showGlobalTabView:(id)sender
{
[tabView selectTabViewItem:globalTabViewItem];
Loading
Loading
@@ -3815,3 +3879,28 @@ static float versionNumber;
}
 
@end
@implementation PreferencePanel (KeyValueCoding)
// An experiment with cocoa bindings. This is bound to the "enabled" status of
// the "remove job" button.
- (BOOL)haveJobsForCurrentBookmark
{
if ([jobsTable_ selectedRow] < 0) {
return NO;
}
NSString* guid = [bookmarksTableView selectedGuid];
if (!guid) {
return NO;
}
Bookmark* bookmark = [dataSource bookmarkWithGuid:guid];
NSArray *jobNames = [bookmark objectForKey:KEY_JOBS];
return [jobNames count] > 0;
}
- (void)setHaveJobsForCurrentBookmark:(BOOL)value
{
// observed but has no effect because the getter does all the computation.
}
@end
Loading
Loading
@@ -527,13 +527,42 @@ NSString *sessionsKey = @"sessions";
return windowType_;
}
 
- (void)closeTab:(PTYTab*)aTab
{
NSTabViewItem *aTabViewItem;
int numberOfTabs;
- (BOOL)confirmCloseForSessions:(NSArray *)sessions
identifier:(NSString*)identifier
genericName:(NSString *)genericName
{
NSMutableArray *names = [NSMutableArray array];
for (PTYSession *aSession in sessions) {
if (![aSession exited]) {
[names addObjectsFromArray:[aSession childJobNames]];
}
}
NSString *message;
NSArray *sortedNames = [names sortedArrayUsingSelector:@selector(compare:)];
if ([sortedNames count] == 1) {
message = [NSString stringWithFormat:@"%@ is running \"%@\".", identifier, [sortedNames objectAtIndex:0]];
} else if ([sortedNames count] > 1 && [sortedNames count] <= 10) {
message = [NSString stringWithFormat:@"%@ is running the following jobs: %@.", identifier, [sortedNames componentsJoinedByString:@", "]];
} else if ([sortedNames count] > 10) {
message = [NSString stringWithFormat:@"%@ is running the following jobs: %@, plus %d %@.",
identifier,
[[sortedNames subarrayWithRange:NSMakeRange(0, 10)] componentsJoinedByString:@", "],
[sortedNames count] - 10,
[sortedNames count] == 11 ? @"other" : @"others"];
} else {
message = [NSString stringWithFormat:@"%@ will be closed.", identifier];
}
return NSRunAlertPanel([NSString stringWithFormat:@"Close %@?", genericName],
message,
@"OK",
@"Cancel",
nil) == NSAlertDefaultReturn;
}
 
- (BOOL)confirmCloseTab:(PTYTab *)aTab
{
if ([TABVIEW indexOfTabViewItemWithIdentifier:aTab] == NSNotFound) {
return;
return NO;
}
 
int numClosing = 0;
Loading
Loading
@@ -544,70 +573,37 @@ NSString *sessionsKey = @"sessions";
}
 
BOOL mustAsk = NO;
if (numClosing > 0 && [[PreferencePanel sharedInstance] promptOnClose]) {
if (numClosing == 1) {
if (![[PreferencePanel sharedInstance] onlyWhenMoreTabs]) {
mustAsk = YES;
}
} else {
mustAsk = YES;
}
if (numClosing > 0 && [aTab promptOnClose]) {
mustAsk = YES;
}
if (numClosing > 1 &&
[[PreferencePanel sharedInstance] onlyWhenMoreTabs]) {
mustAsk = YES;
}
 
if (mustAsk) {
BOOL okToClose;
if (numClosing == 1) {
int skip = 0;
pid_t thePid = [[[aTab activeSession] SHELL] pid];
if ([[[ProcessCache sharedInstance] getNameOfPid:thePid isForeground:nil] isEqualToString:@"login"]) {
skip = 1;
}
NSMutableArray *names = [NSMutableArray array];
for (NSNumber *n in [[ProcessCache sharedInstance] childrenOfPid:thePid levelsToSkip:skip]) {
pid_t pid = [n intValue];
NSDictionary *info = [[ProcessCache sharedInstance] dictionaryOfTaskInfoForPid:pid];
[names addObject:[info objectForKey:PID_INFO_NAME]];
}
NSString *message;
NSArray *sortedNames = [names sortedArrayUsingSelector:@selector(compare:)];
if ([sortedNames count] == 1) {
message = [NSString stringWithFormat:@"This tab is running \"%@\". Close it?", [sortedNames objectAtIndex:0]];
} else if ([sortedNames count] > 1) {
message = [NSString stringWithFormat:@"This tab is running the following jobs: %@. Close it?", [sortedNames componentsJoinedByString:@", "]];
} else {
message = @"This tab will be closed.";
}
okToClose = NSRunAlertPanel([NSString stringWithFormat:@"%@ #%d",
[[aTab activeSession] name],
[aTab realObjectCount]],
message,
@"OK",
@"Cancel",
nil) == NSAlertDefaultReturn;
okToClose = [self confirmCloseForSessions:[aTab sessions]
identifier:@"This tab"
genericName:[NSString stringWithFormat:@"tab #%d",
[aTab realObjectCount]]];
} else {
okToClose = NSRunAlertPanel([NSString stringWithFormat:@"Close multiple panes in tab #%d",
[aTab realObjectCount]],
[NSString stringWithFormat:
NSLocalizedStringFromTableInBundle(@"%d sessions will be closed.",
@"iTerm",
[NSBundle bundleForClass:[self class]],
@"Close Session"), numClosing],
NSLocalizedStringFromTableInBundle(@"OK",
@"iTerm",
[NSBundle bundleForClass:[self class]],
@"OK"),
NSLocalizedStringFromTableInBundle(@"Cancel",
@"iTerm",
[NSBundle bundleForClass:[self class]],
@"Cancel"),
nil) == NSAlertDefaultReturn;
}
if (!okToClose) {
return;
okToClose = [self confirmCloseForSessions:[aTab sessions]
identifier:@"This multi-pane tab"
genericName:[NSString stringWithFormat:@"tab #%d",
[aTab realObjectCount]]];
}
return okToClose;
}
return YES;
}
 
numberOfTabs = [TABVIEW numberOfTabViewItems];
- (void)closeTab:(PTYTab*)aTab
{
NSTabViewItem *aTabViewItem;
int numberOfTabs = [TABVIEW numberOfTabViewItems];
for (PTYSession* session in [aTab sessions]) {
[session terminate];
}
Loading
Loading
@@ -658,7 +654,9 @@ NSString *sessionsKey = @"sessions";
 
- (IBAction)closeCurrentTab:(id)sender
{
[self closeTab:[self currentTab]];
if ([self tabView:TABVIEW shouldCloseTabViewItem:[TABVIEW selectedTabViewItem]]) {
[self closeTab:[self currentTab]];
}
}
 
- (IBAction)closeCurrentSession:(id)sender
Loading
Loading
@@ -675,10 +673,12 @@ NSString *sessionsKey = @"sessions";
[self closeCurrentTab:self];
return;
}
if ([aSession exited] ||
![[PreferencePanel sharedInstance] promptOnClose] ||
[[PreferencePanel sharedInstance] onlyWhenMoreTabs] ||
(NSRunAlertPanel([NSString stringWithFormat:@"%@ #%d",
BOOL okToClose = NO;
if ([aSession exited]) {
okToClose = YES;
} else if (![aSession promptOnClose]) {
okToClose = YES;
} else if (NSRunAlertPanel([NSString stringWithFormat:@"%@ #%d",
[aSession name],
[[aSession tab] realObjectCount]],
NSLocalizedStringFromTableInBundle(@"This session will be closed.",
Loading
Loading
@@ -693,7 +693,10 @@ NSString *sessionsKey = @"sessions";
@"iTerm",
[NSBundle bundleForClass:[self class]],
@"Cancel"),
nil) == NSAlertDefaultReturn)) {
nil) == NSAlertDefaultReturn) {
okToClose = YES;
}
if (okToClose) {
// Just in case IR is open, close it first.
[self closeInstantReplay:self];
[self closeSession:aSession];
Loading
Loading
@@ -1128,16 +1131,39 @@ NSString *sessionsKey = @"sessions";
userInfo:nil];
}
 
- (BOOL)promptOnClose
{
for (PTYSession *aSession in [self sessions]) {
if ([aSession promptOnClose]) {
return YES;
}
}
return NO;
}
- (int)numRunningSessions
{
int n = 0;
for (PTYSession *aSession in [self sessions]) {
if (![aSession exited]) {
++n;
}
}
return n;
}
- (BOOL)windowShouldClose:(NSNotification *)aNotification
{
#if DEBUG_METHOD_TRACE
NSLog(@"%s(%d):-[PseudoTerminal windowShouldClose:%@]",
__FILE__, __LINE__, aNotification);
#endif
BOOL needPrompt = NO;
if ([self promptOnClose]) {
needPrompt = YES;
}
if ([[PreferencePanel sharedInstance] onlyWhenMoreTabs] &&
[self numRunningSessions] > 1) {
needPrompt = YES;
}
 
if ([[PreferencePanel sharedInstance] promptOnClose] &&
(![[PreferencePanel sharedInstance] onlyWhenMoreTabs] ||
[TABVIEW numberOfTabViewItems] > 1)) {
if (needPrompt) {
return [self showCloseWindow];
} else {
return YES;
Loading
Loading
@@ -1146,11 +1172,6 @@ NSString *sessionsKey = @"sessions";
 
- (void)windowWillClose:(NSNotification *)aNotification
{
#if DEBUG_METHOD_TRACE
NSLog(@"%s(%d):-[PseudoTerminal windowWillClose:%@]",
__FILE__, __LINE__, aNotification);
#endif
// Close popups.
[pbHistoryView close];
[autocompleteView close];
Loading
Loading
@@ -1217,7 +1238,7 @@ NSString *sessionsKey = @"sessions";
- (void)windowDidBecomeKey:(NSNotification *)aNotification
{
isOrderedOut_ = NO;
#if DEBUG_METHOD_TRACE
NSLog(@"%s(%d):-[PseudoTerminal windowDidBecomeKey:%@]",
__FILE__, __LINE__, aNotification);
Loading
Loading
@@ -2106,27 +2127,7 @@ NSString *sessionsKey = @"sessions";
- (BOOL)tabView:(NSTabView*)tabView shouldCloseTabViewItem:(NSTabViewItem *)tabViewItem
{
PTYTab *aTab = [tabViewItem identifier];
return ([aTab allSessionsExited] ||
![[PreferencePanel sharedInstance] promptOnClose] ||
[[PreferencePanel sharedInstance] onlyWhenMoreTabs] ||
(NSRunAlertPanel([NSString stringWithFormat:@"%@ #%d",
[[aTab activeSession] name],
[[[aTab activeSession] tab] realObjectCount]],
NSLocalizedStringFromTableInBundle(@"This session will be closed.",
@"iTerm",
[NSBundle bundleForClass:[self class]],
@"Close Session"),
NSLocalizedStringFromTableInBundle(@"OK",
@"iTerm",
[NSBundle bundleForClass:[self class]],
@"OK"),
NSLocalizedStringFromTableInBundle(@"Cancel",
@"iTerm",
[NSBundle bundleForClass:[self class]],
@"Cancel"),
nil) == NSAlertDefaultReturn));
return [self confirmCloseTab:aTab];
}
 
- (BOOL)tabView:(NSTabView*)aTabView shouldDragTabViewItem:(NSTabViewItem *)tabViewItem fromTabBar:(PSMTabBarControl *)tabBarControl
Loading
Loading
@@ -2385,7 +2386,7 @@ NSString *sessionsKey = @"sessions";
[[term window] makeKeyAndOrderFront:nil];
[term hideMenuBar];
}
return [term tabBarControl];
}
 
Loading
Loading
@@ -2650,7 +2651,7 @@ NSString *sessionsKey = @"sessions";
 
- (BOOL)sendInputToAllSessions
{
return broadcastMode_ != BROADCAST_OFF;
return broadcastMode_ != BROADCAST_OFF;
}
 
-(void)replaySession:(PTYSession *)oldSession
Loading
Loading
@@ -4316,15 +4317,9 @@ NSString *sessionsKey = @"sessions";
// Close Window
- (BOOL)showCloseWindow
{
#if DEBUG_METHOD_TRACE
NSLog(@"%s(%d):-[PseudoTerminal showCloseWindow]", __FILE__, __LINE__);
#endif
return (NSRunAlertPanel(NSLocalizedStringFromTableInBundle(@"Close Window?",@"iTerm", [NSBundle bundleForClass: [self class]], @"Close window"),
NSLocalizedStringFromTableInBundle(@"All sessions will be closed",@"iTerm", [NSBundle bundleForClass: [self class]], @"Close window"),
NSLocalizedStringFromTableInBundle(@"OK",@"iTerm", [NSBundle bundleForClass: [self class]], @"OK"),
NSLocalizedStringFromTableInBundle(@"Cancel",@"iTerm", [NSBundle bundleForClass: [self class]], @"Cancel")
,nil) == NSAlertDefaultReturn);
return ([self confirmCloseForSessions:[self sessions]
identifier:@"This window"
genericName:[NSString stringWithFormat:@"Window #%d", number_+1]]);
}
 
- (PSMTabBarControl*)tabBarControl
Loading
Loading
@@ -4515,7 +4510,7 @@ NSString *sessionsKey = @"sessions";
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"iTermLoadFindStringFromSharedPasteboard"
object:nil
userInfo:nil];
userInfo:nil];
}
 
@end
Loading
Loading
@@ -4914,7 +4909,7 @@ NSString *sessionsKey = @"sessions";
// TODO: this should work with fullscreen
}
[iTermController switchToSpaceInBookmark:abEntry];
[self initWithSmartLayout:NO
[self initWithSmartLayout:NO
windowType:windowType
screen:-1];
toggle = ([self windowType] == WINDOW_TYPE_FULL_SCREEN) ||
Loading
Loading
Loading
Loading
@@ -261,27 +261,30 @@ static BOOL hasBecomeActive = NO;
NSArray *terminals;
 
terminals = [[iTermController sharedInstance] terminals];
int numSessions = 0;
BOOL shouldShowAlert = NO;
for (PseudoTerminal *term in terminals) {
numSessions += [[term sessions] count];
if ([term promptOnClose]) {
shouldShowAlert = YES;
}
}
 
// Display prompt if we need to
int numTerminals = [terminals count];
int numNontrivialWindows = numTerminals;
BOOL promptOnQuit = quittingBecauseLastWindowClosed_ ? NO : (numNontrivialWindows > 0 && [[PreferencePanel sharedInstance] promptOnQuit]);
if (!quittingBecauseLastWindowClosed_ && // cmd-q
[terminals count] > 0 && // there are terminal windows
[[PreferencePanel sharedInstance] promptOnQuit]) { // preference is to prompt on quit cmd
shouldShowAlert = YES;
}
quittingBecauseLastWindowClosed_ = NO;
BOOL promptOnClose = [[PreferencePanel sharedInstance] promptOnClose];
BOOL onlyWhenMoreTabs = [[PreferencePanel sharedInstance] onlyWhenMoreTabs];
int numTabs = 0;
if (numTerminals > 0) {
numTabs = [[[[iTermController sharedInstance] currentTerminal] tabView] numberOfTabViewItems];
if ([[PreferencePanel sharedInstance] onlyWhenMoreTabs] && numSessions > 1) {
// closing multiple sessions
shouldShowAlert = YES;
}
BOOL shouldShowAlert = (!onlyWhenMoreTabs ||
numTerminals > 1 ||
numTabs > 1);
if (promptOnQuit || (promptOnClose &&
numTerminals &&
shouldShowAlert)) {
if (shouldShowAlert) {
BOOL stayput = NSRunAlertPanel(@"Quit iTerm2?",
@"All sessions will be closed",
@"All sessions will be closed.",
@"OK",
@"Cancel",
nil) != NSAlertDefaultReturn;
Loading
Loading
@@ -307,8 +310,17 @@ static BOOL hasBecomeActive = NO;
nil,
nil);
} else {
NSString *format;
if ([BookmarkModel migrated]) {
format = @"Your preferences were modified by iTerm2 as part of an upgrade process (and you might have changed them, too). "
@"Since you load prefs from a custom location, your local preferences will be lost if not copied to %@.";
} else {
format = @"Your preferences are loaded from a custom location and differ from your local preferences."
@"Your local preferences will be lost if not copied to %@.";
}
switch (NSRunAlertPanel(@"Preference Changes Will be Lost!",
[NSString stringWithFormat:@"Your preferences are loaded from a custom location and differ from your local preferences. Your local preferences will be lost if not copied to %@.", remote],
[NSString stringWithFormat:format,
remote],
@"Copy",
@"Lose Changes",
nil)) {
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment