Skip to content

Commit d915e45

Browse files
committed
- Merge in r1608 (SPF saving of custom SSH ports), r1610 (Fix multi-line favourite titles), r1619 (History navigation task not closed) and r1622 (Pagination interface clarification) to the 0.9.7 branch
1 parent 03ac736 commit d915e45

File tree

8 files changed

+45
-42
lines changed

8 files changed

+45
-42
lines changed

Interfaces/English.lproj/DBView.xib

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2448,7 +2448,7 @@
24482448
<object class="NSTextField" id="262235013">
24492449
<reference key="NSNextResponder" ref="1013108064"/>
24502450
<int key="NSvFlags">290</int>
2451-
<string key="NSFrame">{{166, 6}, {327, 22}}</string>
2451+
<string key="NSFrame">{{166, 6}, {415, 22}}</string>
24522452
<reference key="NSSuperview" ref="1013108064"/>
24532453
<bool key="NSEnabled">YES</bool>
24542454
<object class="NSTextFieldCell" key="NSCell" id="665575636">
@@ -2833,7 +2833,7 @@
28332833
<object class="NSButton" id="434675603">
28342834
<reference key="NSNextResponder" ref="1013108064"/>
28352835
<int key="NSvFlags">289</int>
2836-
<string key="NSFrame">{{493, 9}, {32, 25}}</string>
2836+
<string key="NSFrame">{{586, 9}, {32, 25}}</string>
28372837
<reference key="NSSuperview" ref="1013108064"/>
28382838
<bool key="NSEnabled">YES</bool>
28392839
<object class="NSButtonCell" key="NSCell" id="105847394">
@@ -2857,7 +2857,7 @@
28572857
<object class="NSButton" id="429029434">
28582858
<reference key="NSNextResponder" ref="1013108064"/>
28592859
<int key="NSvFlags">289</int>
2860-
<string key="NSFrame">{{524, 9}, {125, 25}}</string>
2860+
<string key="NSFrame">{{617, 9}, {32, 25}}</string>
28612861
<reference key="NSSuperview" ref="1013108064"/>
28622862
<bool key="NSEnabled">YES</bool>
28632863
<object class="NSButtonCell" key="NSCell" id="843215079">
@@ -17956,9 +17956,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
1795617956
<reference ref="231622333"/>
1795717957
<reference ref="33038697"/>
1795817958
<reference ref="924091760"/>
17959-
<reference ref="434675603"/>
1796017959
<reference ref="429029434"/>
1796117960
<reference ref="983589239"/>
17961+
<reference ref="434675603"/>
1796217962
</object>
1796317963
<reference key="parent" ref="624106058"/>
1796417964
</object>

Interfaces/English.lproj/QueryFavoriteManager.xib

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
</object>
2626
<object class="NSArray" key="IBDocument.PluginDependencies">
2727
<bool key="EncodedWithXMLCoder">YES</bool>
28-
<string>com.brandonwalkin.BWToolkit</string>
2928
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
29+
<string>com.brandonwalkin.BWToolkit</string>
3030
</object>
3131
<object class="NSMutableDictionary" key="IBDocument.Metadata">
3232
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -56,7 +56,7 @@
5656
<string key="NSWindowTitle">Query Favorite Manager</string>
5757
<string key="NSWindowClass">NSWindow</string>
5858
<nil key="NSViewClass"/>
59-
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
59+
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
6060
<string key="NSWindowContentMinSize">{500, 371}</string>
6161
<object class="NSView" key="NSWindowView" id="1006">
6262
<reference key="NSNextResponder"/>
@@ -383,7 +383,7 @@
383383
</object>
384384
<object class="NSTextFieldCell" key="NSDataCell" id="56401947">
385385
<int key="NSCellFlags">337772097</int>
386-
<int key="NSCellFlags2">133120</int>
386+
<int key="NSCellFlags2">133184</int>
387387
<string key="NSContents">Text Cell</string>
388388
<reference key="NSSupport" ref="26"/>
389389
<reference key="NSControlView" ref="522643855"/>
@@ -393,7 +393,7 @@
393393
<string key="NSColorName">controlBackgroundColor</string>
394394
<object class="NSColor" key="NSColor" id="276872502">
395395
<int key="NSColorSpace">3</int>
396-
<bytes key="NSWhite">MC42NjY2NjY2ODY1AA</bytes>
396+
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
397397
</object>
398398
</object>
399399
<object class="NSColor" key="NSTextColor" id="810868150">
@@ -535,7 +535,7 @@
535535
<bool key="NSEnabled">YES</bool>
536536
<object class="NSTextFieldCell" key="NSCell" id="474077606">
537537
<int key="NSCellFlags">-1804468671</int>
538-
<int key="NSCellFlags2">272761856</int>
538+
<int key="NSCellFlags2">272761920</int>
539539
<string key="NSContents"/>
540540
<reference key="NSSupport" ref="26"/>
541541
<string key="NSPlaceholderString">[no selection]</string>
@@ -696,7 +696,7 @@
696696
<string key="NSFrame">{{20, 54}, {250, 266}}</string>
697697
<reference key="NSSuperview" ref="954707656"/>
698698
<reference key="NSNextKeyView" ref="221447089"/>
699-
<int key="NSsFlags">514</int>
699+
<int key="NSsFlags">530</int>
700700
<reference key="NSVScroller" ref="978638217"/>
701701
<reference key="NSHScroller" ref="1008017707"/>
702702
<reference key="NSContentView" ref="221447089"/>
@@ -761,7 +761,7 @@
761761
<string key="NSAutosaveName">SPQueryFavoriteSplitView</string>
762762
<object class="NSColor" key="BWSVColor">
763763
<int key="NSColorSpace">1</int>
764-
<bytes key="NSRGB">MC42NjY2NjY2ODY1IDAuNjY2NjY2Njg2NSAwLjY2NjY2NjY4NjUAA</bytes>
764+
<bytes key="NSRGB">MC42NjY2NjY2NjY3IDAuNjY2NjY2NjY2NyAwLjY2NjY2NjY2NjcAA</bytes>
765765
</object>
766766
<bool key="BWSVColorIsEnabled">YES</bool>
767767
<object class="NSMutableDictionary" key="BWSVMinValues">
@@ -819,7 +819,7 @@
819819
</object>
820820
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
821821
<string key="NSMinSize">{500, 393}</string>
822-
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
822+
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
823823
<string key="NSFrameAutosaveName">SPQueryFavoriteManagerWindow</string>
824824
</object>
825825
<object class="NSUserDefaultsController" id="592597522">
@@ -1676,9 +1676,9 @@
16761676
<object class="NSMutableArray" key="dict.values">
16771677
<bool key="EncodedWithXMLCoder">YES</bool>
16781678
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
1679-
<string>{{417, 428}, {500, 371}}</string>
1679+
<string>{{323, 319}, {500, 371}}</string>
16801680
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
1681-
<string>{{417, 428}, {500, 371}}</string>
1681+
<string>{{323, 319}, {500, 371}}</string>
16821682
<boolean value="NO"/>
16831683
<string>{196, 240}</string>
16841684
<string>{{357, 418}, {480, 270}}</string>
406 Bytes
Loading

Source/SPHistoryController.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ enum sphistory_view_types
6464
// Loading history entries
6565
- (void) loadEntryAtPosition:(unsigned int)position;
6666
- (void) loadEntryTaskWithPosition:(NSNumber *)positionNumber;
67-
- (void) abortEntryLoad;
67+
- (void) abortEntryLoadWithPool:(NSAutoreleasePool *)pool;
6868
- (void) loadEntryFromMenuItem:(id)theMenuItem;
6969

7070
// History entry details and description

Source/SPHistoryController.m

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,8 @@ - (void) loadEntryTaskWithPosition:(NSNumber *)positionNumber
301301
[tableContentInstance loadTable:[historyEntry objectForKey:@"table"]];
302302
modifyingHistoryState = NO;
303303
[self updateToolbarItem];
304+
[theDocument endTask];
305+
[loadPool drain];
304306
return;
305307
}
306308

@@ -314,19 +316,19 @@ - (void) loadEntryTaskWithPosition:(NSNumber *)positionNumber
314316
[chooseDatabaseButton selectItemWithTitle:[historyEntry objectForKey:@"database"]];
315317
[theDocument chooseDatabase:self];
316318
if (![[theDocument database] isEqualToString:[historyEntry objectForKey:@"database"]]) {
317-
return [self abortEntryLoad];
319+
return [self abortEntryLoadWithPool:loadPool];
318320
}
319321
}
320322

321323
// Check and set the table
322324
if ([historyEntry objectForKey:@"table"] && ![[theDocument table] isEqualToString:[historyEntry objectForKey:@"table"]]) {
323325
NSArray *tables = [tablesListInstance tables];
324326
if ([tables indexOfObject:[historyEntry objectForKey:@"table"]] == NSNotFound) {
325-
return [self abortEntryLoad];
327+
return [self abortEntryLoadWithPool:loadPool];
326328
}
327329
[[tablesListInstance valueForKey:@"tablesListView"] selectRowIndexes:[NSIndexSet indexSetWithIndex:[tables indexOfObject:[historyEntry objectForKey:@"table"]]] byExtendingSelection:NO];
328330
if (![[theDocument table] isEqualToString:[historyEntry objectForKey:@"table"]]) {
329-
return [self abortEntryLoad];
331+
return [self abortEntryLoadWithPool:loadPool];
330332
}
331333
} else if (![historyEntry objectForKey:@"table"] && [theDocument table]) {
332334
[tablesListInstance setTableListSelectability:YES];
@@ -355,7 +357,7 @@ - (void) loadEntryTaskWithPosition:(NSNumber *)positionNumber
355357
break;
356358
}
357359
if ([self currentlySelectedView] != [[historyEntry objectForKey:@"view"] intValue]) {
358-
return [self abortEntryLoad];
360+
return [self abortEntryLoadWithPool:loadPool];
359361
}
360362
}
361363

@@ -371,10 +373,12 @@ - (void) loadEntryTaskWithPosition:(NSNumber *)positionNumber
371373
* Convenience method for aborting history load - could at some point
372374
* clean up the history list, show an alert, etc
373375
*/
374-
- (void) abortEntryLoad
376+
- (void) abortEntryLoadWithPool:(NSAutoreleasePool *)pool
375377
{
376378
NSBeep();
377379
modifyingHistoryState = NO;
380+
[theDocument endTask];
381+
if (pool) [pool drain];
378382
}
379383

380384
/**

Source/SPPreferenceController.m

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -267,21 +267,31 @@ - (void)applyRevisionChanges
267267
[prefs setObject:[NSDictionary dictionaryWithDictionary:toolbarDict] forKey:@"NSToolbar Configuration TableWindowToolbar"];
268268
}
269269

270-
// For versions prior to r1598 (~0.9.7), convert the query favorites array to an array of dictionaries
271-
if (recordedVersionNumber < 1598 && [prefs objectForKey:SPQueryFavorites]) {
270+
// For versions prior to r1609 (~0.9.7), convert the query favorites array to an array of dictionaries
271+
if (recordedVersionNumber < 1609 && [prefs objectForKey:SPQueryFavorites]) {
272272
NSMutableArray *queryFavoritesArray = [NSMutableArray arrayWithArray:[prefs objectForKey:SPQueryFavorites]];
273273

274274
for (i = 0; i < [queryFavoritesArray count]; i++)
275275
{
276276
id favorite = [queryFavoritesArray objectAtIndex:i];
277277

278-
if (([favorite isKindOfClass:[NSDictionary class]]) && ([favorite objectForKey:@"name"]) && ([favorite objectForKey:@"query"])) continue;
278+
// If the favorite is already a dictionary, just make sure there's no newlines in the title
279+
if (([favorite isKindOfClass:[NSDictionary class]]) && ([favorite objectForKey:@"name"]) && ([favorite objectForKey:@"query"])) {
280+
NSMutableString *favoriteName = [NSMutableString stringWithString:[favorite objectForKey:@"name"]];
281+
[favoriteName replaceOccurrencesOfString:@"\n" withString:@" " options:NSLiteralSearch range:NSMakeRange(0, [favoriteName length])];
282+
[queryFavoritesArray replaceObjectAtIndex:i withObject:[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[NSString stringWithString:favoriteName], [favorite objectForKey:@"query"], nil] forKeys:[NSArray arrayWithObjects:@"name", @"query", nil]]];
283+
continue;
284+
}
279285

280-
// By default make the query's name the first 32 characters of the query with '...' appended
281-
int idx = ( [favorite length] > 32 ) ? 32 : [favorite length]-1;
282-
NSString *favoriteName = [[[favorite stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]] substringToIndex:idx] stringByAppendingString:@"..."];
283-
284-
[queryFavoritesArray replaceObjectAtIndex:i withObject:[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:favoriteName, favorite, nil] forKeys:[NSArray arrayWithObjects:@"name", @"query", nil]]];
286+
// By default make the query's name the first 32 characters of the query with '...' appended, stripping newlines
287+
NSMutableString *favoriteName = [NSMutableString stringWithString:[favorite stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]];
288+
[favoriteName replaceOccurrencesOfString:@"\n" withString:@" " options:NSLiteralSearch range:NSMakeRange(0, [favoriteName length])];
289+
if ([favoriteName length] > 32) {
290+
[favoriteName deleteCharactersInRange:NSMakeRange(32, [favoriteName length] - 32)];
291+
[favoriteName appendString:@"..."];
292+
}
293+
294+
[queryFavoritesArray replaceObjectAtIndex:i withObject:[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[NSString stringWithString:favoriteName], favorite, nil] forKeys:[NSArray arrayWithObjects:@"name", @"query", nil]]];
285295
}
286296

287297
[prefs setObject:queryFavoritesArray forKey:SPQueryFavorites];

Source/TableContent.m

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,11 +1149,13 @@ - (void) setPaginationViewVisibility:(BOOL)makeVisible
11491149
if (paginationViewFrame.size.height == paginationViewHeight) return;
11501150
paginationViewFrame.size.height = paginationViewHeight;
11511151
[paginationButton setState:NSOnState];
1152+
[paginationButton setImage:[NSImage imageNamed:@"button_action"]];
11521153
[tableWindow makeFirstResponder:paginationPageField];
11531154
} else {
11541155
if (paginationViewFrame.size.height == 0) return;
11551156
paginationViewFrame.size.height = 0;
11561157
[paginationButton setState:NSOffState];
1158+
[paginationButton setImage:[NSImage imageNamed:@"button_pagination"]];
11571159
if ([tableWindow firstResponder] == paginationPageField
11581160
|| ([[tableWindow firstResponder] respondsToSelector:@selector(superview)]
11591161
&& [(id)[tableWindow firstResponder] superview]
@@ -1196,19 +1198,6 @@ - (void) updatePaginationState
11961198
// As long as a table is selected (which it will be if this is called), enable pagination detail button
11971199
[paginationButton setEnabled:enabledMode];
11981200

1199-
// Update the pagination button text
1200-
if ([prefs boolForKey:SPLimitResults]) {
1201-
if (maxPage <= 1) {
1202-
[paginationButton setTitle:@""];
1203-
} else if (isFiltered) {
1204-
[paginationButton setTitle:[NSString stringWithFormat:NSLocalizedString(@"Page %@", @"Filtered pagination button status text"), [numberFormatter stringFromNumber:[NSNumber numberWithUnsignedInteger:contentPage]]]];
1205-
} else {
1206-
[paginationButton setTitle:[NSString stringWithFormat:NSLocalizedString(@"Page %@ of %@", @"Pagination button status text"), [numberFormatter stringFromNumber:[NSNumber numberWithUnsignedInteger:contentPage]], [numberFormatter stringFromNumber:[NSNumber numberWithUnsignedInteger:maxPage]]]];
1207-
}
1208-
} else {
1209-
[paginationButton setTitle:NSLocalizedString(@"Pagination disabled", @"Pagination text shown when LIMIT is off")];
1210-
}
1211-
12121201
// Set the values and maximums for the text field and associated pager
12131202
[paginationPageField setStringValue:[numberFormatter stringFromNumber:[NSNumber numberWithUnsignedInteger:contentPage]]];
12141203
[[paginationPageField formatter] setMaximum:[NSNumber numberWithUnsignedInteger:maxPage]];

Source/TableDocument.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2640,7 +2640,7 @@ - (BOOL)saveDocumentWithFilePath:(NSString *)fileName inBackground:(BOOL)saveInB
26402640
aString = @"SPSSHTunnelConnection";
26412641
[connection setObject:[connectionController sshHost] forKey:@"ssh_host"];
26422642
[connection setObject:[connectionController sshUser] forKey:@"ssh_user"];
2643-
if([connectionController port] && [[connectionController port] length])
2643+
if([connectionController sshPort] && [[connectionController sshPort] length])
26442644
[connection setObject:[NSNumber numberWithInt:[[connectionController sshPort] intValue]] forKey:@"ssh_port"];
26452645
break;
26462646
default:

0 commit comments

Comments
 (0)