From 1ac52c38f1b819fa28610c74661a5fd4dbab21f9 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 11 May 2018 00:38:35 +0200 Subject: #63: Move some UI around and add proper icon Clarify some variable names --- Interfaces/English.lproj/DBView.xib | 53 +++++++++++---------- Resources/Images/button_filter.png | Bin 0 -> 343 bytes Resources/Images/button_filter@2x.png | Bin 0 -> 450 bytes Resources/Images/button_filter_active.png | Bin 0 -> 332 bytes Resources/Images/button_filter_active@2x.png | Bin 0 -> 479 bytes Source/SPAppController.m | 2 +- Source/SPTableContent.h | 2 - Source/SPTableContent.m | 57 +++++++++++++--------- Source/SPTableContentFilterController.h | 6 +++ Source/SPTableContentFilterController.m | 25 +++++++++- sequel-pro.xcodeproj/project.pbxproj | 68 +++++++++++++++++---------- 11 files changed, 133 insertions(+), 80 deletions(-) create mode 100644 Resources/Images/button_filter.png create mode 100644 Resources/Images/button_filter@2x.png create mode 100644 Resources/Images/button_filter_active.png create mode 100644 Resources/Images/button_filter_active@2x.png diff --git a/Interfaces/English.lproj/DBView.xib b/Interfaces/English.lproj/DBView.xib index a725d186..0d5f3b64 100644 --- a/Interfaces/English.lproj/DBView.xib +++ b/Interfaces/English.lproj/DBView.xib @@ -1075,7 +1075,7 @@ - + @@ -1145,8 +1145,8 @@ - - + + @@ -1238,26 +1238,15 @@ - - - + + + - @@ -4596,7 +4596,6 @@ Gw - @@ -4619,6 +4618,7 @@ Gw + @@ -5160,7 +5160,6 @@ Gw - @@ -5172,6 +5171,8 @@ Gw + + diff --git a/Resources/Images/button_filter.png b/Resources/Images/button_filter.png new file mode 100644 index 00000000..2ae6f60d Binary files /dev/null and b/Resources/Images/button_filter.png differ diff --git a/Resources/Images/button_filter@2x.png b/Resources/Images/button_filter@2x.png new file mode 100644 index 00000000..0e40ee1f Binary files /dev/null and b/Resources/Images/button_filter@2x.png differ diff --git a/Resources/Images/button_filter_active.png b/Resources/Images/button_filter_active.png new file mode 100644 index 00000000..3a39d358 Binary files /dev/null and b/Resources/Images/button_filter_active.png differ diff --git a/Resources/Images/button_filter_active@2x.png b/Resources/Images/button_filter_active@2x.png new file mode 100644 index 00000000..67084e78 Binary files /dev/null and b/Resources/Images/button_filter_active@2x.png differ diff --git a/Source/SPAppController.m b/Source/SPAppController.m index 2e62725f..c9523bc7 100644 --- a/Source/SPAppController.m +++ b/Source/SPAppController.m @@ -2368,7 +2368,7 @@ */ - (BOOL)application:(NSApplication *)sender delegateHandlesKey:(NSString *)key { - NSLog(@"Not yet implemented."); + NSLog(@"Not yet implemented: %@", key); return NO; } diff --git a/Source/SPTableContent.h b/Source/SPTableContent.h index a670c69a..bd14cbdf 100644 --- a/Source/SPTableContent.h +++ b/Source/SPTableContent.h @@ -69,7 +69,6 @@ typedef NS_ENUM(NSInteger, SPTableContentFilterSource) { IBOutlet SPCopyTable *tableContentView; - IBOutlet NSButton *filterButton; IBOutlet NSButton *toggleRuleFilterButton; IBOutlet id addButton; IBOutlet id duplicateButton; @@ -170,7 +169,6 @@ typedef NS_ENUM(NSInteger, SPTableContentFilterSource) { } #ifdef SP_CODA /* glue */ -@property (assign) id filterButton; @property (assign) NSButton* addButton; @property (assign) NSButton* duplicateButton; @property (assign) NSButton* removeButton; diff --git a/Source/SPTableContent.m b/Source/SPTableContent.m index 40133b71..0bc3cc26 100644 --- a/Source/SPTableContent.m +++ b/Source/SPTableContent.m @@ -92,7 +92,6 @@ static void *TableContentKVOContext = &TableContentKVOContext; #ifdef SP_CODA @synthesize addButton; @synthesize duplicateButton; -@synthesize filterButton; @synthesize paginationNextButton; @synthesize paginationPageField; @synthesize paginationPreviousButton; @@ -360,7 +359,6 @@ static void *TableContentKVOContext = &TableContentKVOContext; // Empty and disable filter options [self setRuleEditorVisible:NO animate:NO]; - [filterButton setEnabled:NO]; [toggleRuleFilterButton setEnabled:NO]; [toggleRuleFilterButton setState:NSOffState]; [filterControllerInstance setColumns:nil]; @@ -650,7 +648,7 @@ static void *TableContentKVOContext = &TableContentKVOContext; [self setRuleEditorVisible:NO animate:NO]; //immediately hide the filter editor when switching tables [toggleRuleFilterButton setState:NSOffState]; } - [filterButton setEnabled:enableInteraction]; + [filterControllerInstance setEnabled:enableInteraction]; [toggleRuleFilterButton setEnabled:enableInteraction]; // Restore page number if limiting is set @@ -1304,11 +1302,15 @@ static void *TableContentKVOContext = &TableContentKVOContext; [tableDocumentInstance startTaskWithDescription:taskString]; if ([NSThread isMainThread]) { - [NSThread detachNewThreadWithName:SPCtxt(@"SPTableContent filter table task", tableDocumentInstance) target:self selector:@selector(filterTableTask) object:nil]; + [NSThread detachNewThreadWithName:SPCtxt(@"SPTableContent filter table task", tableDocumentInstance) + target:self + selector:@selector(filterTableTask) + object:nil]; } else { [self filterTableTask]; } } + - (void)filterTableTask { @autoreleasepool { @@ -1349,7 +1351,6 @@ static void *TableContentKVOContext = &TableContentKVOContext; [self updateFilterRuleEditorSize:0.0 animate:animate]; } showFilterRuleEditor = show; - [filterButton setHidden:!show]; } - (void)setUsedQuery:(NSString *)query @@ -3416,39 +3417,49 @@ static void *TableContentKVOContext = &TableContentKVOContext; - (void)updateFilterRuleEditorSize:(CGFloat)requestedHeight animate:(BOOL)animate { - NSRect contentViewRect = [contentAreaContainer frame]; - CGFloat availableHeight = contentViewRect.size.height; + NSRect contentAreaRect = [contentAreaContainer frame]; + CGFloat availableHeight = contentAreaRect.size.height; + + NSRect ruleEditorRect = [[[filterControllerInstance view] enclosingScrollView] frame]; + + //adjust for the UI elements below the rule editor, but only if the view height should not be 0 (ie. hidden) + CGFloat containerRequestedHeight = requestedHeight ? requestedHeight + ruleEditorRect.origin.y : 0; + //the rule editor can ask for about one-third of the available space before we have it use it's scrollbar - CGFloat givenHeight = MIN(requestedHeight + 1,(availableHeight / 3)); // +1 is the SPFillView at the bottom - + CGFloat topContainerGivenHeight = MIN(containerRequestedHeight,(availableHeight / 3)); + // abort if the size didn't really change - NSRect ruleEditorRect = [filterRuleEditorContainer frame]; - if(givenHeight == ruleEditorRect.size.height) return; + NSRect topContainerRect = [filterRuleEditorContainer frame]; + if(topContainerGivenHeight == topContainerRect.size.height) return; - CGFloat newTableContentHeight = availableHeight - givenHeight; + CGFloat newBottomContainerHeight = availableHeight - topContainerGivenHeight; - NSRect tableContentRect = [tableContentContainer frame]; - tableContentRect.size.height = newTableContentHeight; + NSRect bottomContainerRect = [tableContentContainer frame]; + bottomContainerRect.size.height = newBottomContainerHeight; + topContainerRect.origin.y = newBottomContainerHeight; + topContainerRect.size.height = topContainerGivenHeight; - ruleEditorRect.origin.y = newTableContentHeight; - ruleEditorRect.size.height = givenHeight; + // this one should be inferable from the IB layout IMHO, but the OS gets it wrong + ruleEditorRect.size.height = topContainerGivenHeight - ruleEditorRect.origin.y; if(animate) { [NSAnimationContext beginGrouping]; - [[tableContentContainer animator] setFrame:tableContentRect]; - [[filterRuleEditorContainer animator] setFrame:ruleEditorRect]; + [[tableContentContainer animator] setFrame:bottomContainerRect]; + [[filterRuleEditorContainer animator] setFrame:topContainerRect]; + [[[[filterControllerInstance view] enclosingScrollView] animator] setFrame:ruleEditorRect]; [NSAnimationContext endGrouping]; } else { - [tableContentContainer setFrameSize:tableContentRect.size]; - [filterRuleEditorContainer setFrame:ruleEditorRect]; + [tableContentContainer setFrameSize:bottomContainerRect.size]; + [filterRuleEditorContainer setFrame:topContainerRect]; + [[[filterControllerInstance view] enclosingScrollView] setFrame:ruleEditorRect]; } //disable rubberband scrolling as long as there is nothing to scroll if(scrollViewHasRubberbandScrolling) { NSScrollView *filterControllerScroller = [[filterControllerInstance view] enclosingScrollView]; - if (givenHeight > requestedHeight) { // note that givenHeight + 1 == requestedHeight in order to avoid scroll + if (ruleEditorRect.size.height >= requestedHeight) { [filterControllerScroller setVerticalScrollElasticity:NSScrollElasticityNone]; } else { [filterControllerScroller setVerticalScrollElasticity:NSScrollElasticityAutomatic]; @@ -3586,7 +3597,7 @@ static void *TableContentKVOContext = &TableContentKVOContext; [removeButton setEnabled:NO]; [duplicateButton setEnabled:NO]; [reloadButton setEnabled:NO]; - [filterButton setEnabled:NO]; + [filterControllerInstance setEnabled:NO]; [toggleRuleFilterButton setEnabled:NO]; tableRowsSelectable = NO; [paginationPreviousButton setEnabled:NO]; @@ -3622,7 +3633,7 @@ static void *TableContentKVOContext = &TableContentKVOContext; } } - [filterButton setEnabled:(!![selectedTable length])]; + [filterControllerInstance setEnabled:(!![selectedTable length])]; [toggleRuleFilterButton setEnabled:(!![selectedTable length])]; tableRowsSelectable = YES; } diff --git a/Source/SPTableContentFilterController.h b/Source/SPTableContentFilterController.h index 32aeec00..3fe5e8ea 100644 --- a/Source/SPTableContentFilterController.h +++ b/Source/SPTableContentFilterController.h @@ -41,6 +41,7 @@ NSString * const SPTableContentFilterHeightChangedNotification; IBOutlet SPDatabaseDocument *tableDocumentInstance; IBOutlet SPTablesList *tablesListInstance; IBOutlet NSView *tableContentViewBelow; + IBOutlet NSButton *filterButton; NSMutableArray *columns; NSMutableDictionary *contentFilters; @@ -54,6 +55,8 @@ NSString * const SPTableContentFilterHeightChangedNotification; id target; SEL action; + + BOOL enabled; } /** @@ -154,4 +157,7 @@ NSString * const SPTableContentFilterHeightChangedNotification; @property (assign, nonatomic) id target; @property (assign, nonatomic) SEL action; +- (BOOL)isEnabled; +- (void)setEnabled:(BOOL)enabled; + @end diff --git a/Source/SPTableContentFilterController.m b/Source/SPTableContentFilterController.m index c8efa952..a2d6b2d2 100644 --- a/Source/SPTableContentFilterController.m +++ b/Source/SPTableContentFilterController.m @@ -186,6 +186,7 @@ static void _addIfNotNil(NSMutableArray *array, id toAdd); - (BOOL)_focusOnFieldInSubtree:(NSDictionary *)dict; - (void)_resize; - (void)openContentFilterManagerForFilterType:(NSString *)filterType; +- (IBAction)filterTable:(id)sender; @end @@ -305,6 +306,9 @@ static void _addIfNotNil(NSMutableArray *array, id toAdd); // make the rule editor reload the criteria [filterRuleEditor reloadCriteria]; + + // disable UI if no criteria exist + [self setEnabled:([columns count] != 0)]; } - (NSInteger)ruleEditor:(NSRuleEditor *)editor numberOfChildrenForCriterion:(nullable id)criterion withRowType:(NSRuleEditorRowType)rowType @@ -472,10 +476,15 @@ static void _addIfNotNil(NSMutableArray *array, id toAdd); // if the action was caused by pressing return or enter, trigger filtering NSEvent *event = [NSApp currentEvent]; if(event && [event type] == NSKeyDown && ([event keyCode] == 36 || [event keyCode] == 76)) { - if(target && action) [target performSelector:action withObject:self]; + [self filterTable:nil]; } } +- (IBAction)filterTable:(id)sender +{ + if(target && action) [target performSelector:action withObject:self]; +} + - (void)_resize { // The situation with the sizing is a bit f'ed up: @@ -740,6 +749,18 @@ static void _addIfNotNil(NSMutableArray *array, id toAdd); return filterRuleEditor; } +- (BOOL)isEnabled +{ + return enabled; +} + +- (void)setEnabled:(BOOL)_enabled +{ + enabled = _enabled; + [filterButton setEnabled:_enabled]; + [filterRuleEditor setEnabled:_enabled]; +} + - (NSString *)sqlWhereExpressionWithBinary:(BOOL)isBINARY error:(NSError **)err { NSMutableString *filterString = [[NSMutableString alloc] init]; @@ -926,7 +947,7 @@ void _addIfNotNil(NSMutableArray *array, id toAdd) NSString *curFilterType = [[op settings] objectForKey:@"filterType"]; NSString *serFilterType = [serialized objectForKey:SerFilterExprType]; // this is optional if(serFilterType && ![curFilterType isEqualToString:serFilterType]) { - SPLog(@"mistmatch in filter types for operator %@: current=%@, serialized=%@",op,curFilterType,serFilterType); + SPLog(@"mismatch in filter types for operator %@: current=%@, serialized=%@",op,curFilterType,serFilterType); goto fail; } diff --git a/sequel-pro.xcodeproj/project.pbxproj b/sequel-pro.xcodeproj/project.pbxproj index 5b5dc546..61d4310b 100644 --- a/sequel-pro.xcodeproj/project.pbxproj +++ b/sequel-pro.xcodeproj/project.pbxproj @@ -413,6 +413,10 @@ B5E2C5FA0F2353B5007446E0 /* table-property.png in Resources */ = {isa = PBXBuildFile; fileRef = B5E2C5F90F2353B5007446E0 /* table-property.png */; }; B5E92F190F75B2D100012500 /* ExportDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = B5E92F170F75B2D100012500 /* ExportDialog.xib */; }; B5E92F1C0F75B2E800012500 /* SPExportController.m in Sources */ = {isa = PBXBuildFile; fileRef = B5E92F1B0F75B2E800012500 /* SPExportController.m */; }; + BA6B043D20A4FB0B00B012E1 /* button_filter_active@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA6B043920A4FB0A00B012E1 /* button_filter_active@2x.png */; }; + BA6B043E20A4FB0B00B012E1 /* button_filter@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BA6B043C20A4FB0B00B012E1 /* button_filter@2x.png */; }; + BA6B044120A4FEDC00B012E1 /* button_filter_active.png in Resources */ = {isa = PBXBuildFile; fileRef = BA6B043F20A4FEDB00B012E1 /* button_filter_active.png */; }; + BA6B044220A4FEDC00B012E1 /* button_filter.png in Resources */ = {isa = PBXBuildFile; fileRef = BA6B044020A4FEDC00B012E1 /* button_filter.png */; }; BAC6BAF920A0D22400247837 /* FilterTableWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = BAC6BAF720A0D22400247837 /* FilterTableWindow.xib */; }; BC01BCCF104024BE006BDEE7 /* SPEncodingPopupAccessory.m in Sources */ = {isa = PBXBuildFile; fileRef = BC01BCCE104024BE006BDEE7 /* SPEncodingPopupAccessory.m */; }; BC05F1C5101241DF008A97F8 /* YRKSpinningProgressIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = BC05F1C4101241DF008A97F8 /* YRKSpinningProgressIndicator.m */; }; @@ -1160,6 +1164,10 @@ B5E92F1A0F75B2E800012500 /* SPExportController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPExportController.h; sourceTree = ""; }; B5E92F1B0F75B2E800012500 /* SPExportController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPExportController.m; sourceTree = ""; }; B5EAC0FC0EC87FF900CC579C /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + BA6B043920A4FB0A00B012E1 /* button_filter_active@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_filter_active@2x.png"; sourceTree = ""; }; + BA6B043C20A4FB0B00B012E1 /* button_filter@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "button_filter@2x.png"; sourceTree = ""; }; + BA6B043F20A4FEDB00B012E1 /* button_filter_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = button_filter_active.png; sourceTree = ""; }; + BA6B044020A4FEDC00B012E1 /* button_filter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = button_filter.png; sourceTree = ""; }; BAC6BAF820A0D22400247837 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/FilterTableWindow.xib; sourceTree = ""; }; BC01BCCD104024BE006BDEE7 /* SPEncodingPopupAccessory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPEncodingPopupAccessory.h; sourceTree = ""; }; BC01BCCE104024BE006BDEE7 /* SPEncodingPopupAccessory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPEncodingPopupAccessory.m; sourceTree = ""; }; @@ -2026,18 +2034,6 @@ 17E6418B0EF01FF7001BC333 /* Images */ = { isa = PBXGroup; children = ( - 17BFC80D10D3FF5200A3B112 /* Icons */, - 17B548661E82B02100175D5A /* button_bar_handle@2x.png */, - 17B548671E82B02100175D5A /* button_duplicate@2x.png */, - 17B548681E82B02100175D5A /* button_edit_mode_selected@2x.png */, - 17B548691E82B02100175D5A /* button_edit_mode@2x.png */, - 17B5486A1E82B02100175D5A /* button_edit@2x.png */, - 17B5486B1E82B02100175D5A /* button_left@2x.png */, - 17B5486C1E82B02100175D5A /* button_pagination@2x.png */, - 17B5486D1E82B02100175D5A /* button_remove@2x.png */, - 17B5486E1E82B02100175D5A /* button_right@2x.png */, - 17B5486F1E82B02100175D5A /* button_select_all@2x.png */, - 17B548701E82B02100175D5A /* button_select_none@2x.png */, C9AD7C8116761B3300234EEE /* button_action.png */, C9AD7C8216761B3300234EEE /* button_action@2x.png */, 582E93F5168298C6003459FD /* button_add_folder.png */, @@ -2045,20 +2041,31 @@ 582E93FF168299E3003459FD /* button_add.png */, 3876E14F1CC0B26000D85154 /* button_add@2x.png */, 582E940116829B0A003459FD /* button_bar_handle.png */, + 17B548661E82B02100175D5A /* button_bar_handle@2x.png */, C9C9943F1678A439001F5DA8 /* button_bar_spacer.png */, 582E940D1682A2AD003459FD /* button_bar_spacer@2x.png */, 582E94151682A463003459FD /* button_clear.png */, 17AD35F41E79888D000F213E /* button_clear@2x.png */, 582E94171682A4B4003459FD /* button_duplicate.png */, - 582E942316835EA9003459FD /* button_edit.png */, - 582E941E16835DD4003459FD /* button_edit_mode.png */, + 17B548671E82B02100175D5A /* button_duplicate@2x.png */, 582E941D16835DD4003459FD /* button_edit_mode_selected.png */, + 17B548681E82B02100175D5A /* button_edit_mode_selected@2x.png */, + 582E941E16835DD4003459FD /* button_edit_mode.png */, + 17B548691E82B02100175D5A /* button_edit_mode@2x.png */, + 582E942316835EA9003459FD /* button_edit.png */, + 17B5486A1E82B02100175D5A /* button_edit@2x.png */, + BA6B043F20A4FEDB00B012E1 /* button_filter_active.png */, + BA6B043920A4FB0A00B012E1 /* button_filter_active@2x.png */, + BA6B044020A4FEDC00B012E1 /* button_filter.png */, + BA6B043C20A4FB0B00B012E1 /* button_filter@2x.png */, C9AD7C851676204300234EEE /* button_info_pane_hide.png */, C9AD7C861676204300234EEE /* button_info_pane_hide@2x.png */, C9AD7C871676204300234EEE /* button_info_pane_show.png */, C9AD7C881676204300234EEE /* button_info_pane_show@2x.png */, 58C3506410B9A56C00D37E14 /* button_left.png */, + 17B5486B1E82B02100175D5A /* button_left@2x.png */, 58C3506A10B9AA8B00D37E14 /* button_pagination.png */, + 17B5486C1E82B02100175D5A /* button_pagination@2x.png */, C9C9943B1678A117001F5DA8 /* button_pane_hide.png */, C9C9943C1678A117001F5DA8 /* button_pane_hide@2x.png */, C9C994431678A5CD001F5DA8 /* button_pane_show.png */, @@ -2066,42 +2073,47 @@ C9AD7C7D167619B400234EEE /* button_refresh.png */, C9AD7C7E167619B400234EEE /* button_refresh@2x.png */, 582E942516835FAE003459FD /* button_remove.png */, + 17B5486D1E82B02100175D5A /* button_remove@2x.png */, 58C3506610B9A57300D37E14 /* button_right.png */, + 17B5486E1E82B02100175D5A /* button_right@2x.png */, 582E94291683628C003459FD /* button_select_all.png */, + 17B5486F1E82B02100175D5A /* button_select_all@2x.png */, 582E942A1683628C003459FD /* button_select_none.png */, - BC09D7DD12A786FB0030DB64 /* cancel.png */, - BC09D7D912A786FB0030DB64 /* cancel-clicked.png */, + 17B548701E82B02100175D5A /* button_select_none@2x.png */, BC09D7D812A786FB0030DB64 /* cancel-clicked-highlighted.png */, + BC09D7D912A786FB0030DB64 /* cancel-clicked.png */, BC09D7DA12A786FB0030DB64 /* cancel-highlighted.png */, - BC09D7DC12A786FB0030DB64 /* cancel-hovered.png */, BC09D7DB12A786FB0030DB64 /* cancel-hovered-highlighted.png */, + BC09D7DC12A786FB0030DB64 /* cancel-hovered.png */, + BC09D7DD12A786FB0030DB64 /* cancel.png */, 582E942D1683658A003459FD /* clearconsole.png */, - B577483A0F7A8B57003B34F9 /* database.png */, 177E792B0FCB54EC00E9E122 /* database-small.png */, C9AD7C771676138000234EEE /* database-small@2x.png */, + B577483A0F7A8B57003B34F9 /* database.png */, 177E792C0FCB54EC00E9E122 /* dummy-small.png */, 582E9449168374C1003459FD /* field-small-square.png */, 384582C30FB95FF800DDACB6 /* func-small.png */, 17E6419D0EF02036001BC333 /* grabber-horizontal.png */, 17E6419E0EF02036001BC333 /* grabber-vertical.png */, 582E944B16837986003459FD /* hideconsole.png */, + 17BFC80D10D3FF5200A3B112 /* Icons */, 5843DA68161FA35600EAA6D1 /* key-icon-alternate.png */, 5843DA69161FA35600EAA6D1 /* key-icon-alternate@2x.png */, 5843DA6A161FA35600EAA6D1 /* key-icon.png */, 5843DA6B161FA35600EAA6D1 /* key-icon@2x.png */, 58E205FB1234FE4F00A97059 /* KeyTemplate.pdf */, - 58D2E22D101222870063EF1D /* link-arrow.png */, - 582E939C168296F3003459FD /* link-arrow@2x.png */, 58D2E22B101222870063EF1D /* link-arrow-clicked.png */, 582E9399168296F3003459FD /* link-arrow-clicked@2x.png */, - 581068B51015411B0068C6E2 /* link-arrow-highlighted.png */, - 582E939B168296F3003459FD /* link-arrow-highlighted@2x.png */, 58D2E22C101222870063EF1D /* link-arrow-highlighted-clicked.png */, 582E939A168296F3003459FD /* link-arrow-highlighted-clicked@2x.png */, + 581068B51015411B0068C6E2 /* link-arrow-highlighted.png */, + 582E939B168296F3003459FD /* link-arrow-highlighted@2x.png */, + 58D2E22D101222870063EF1D /* link-arrow.png */, + 582E939C168296F3003459FD /* link-arrow@2x.png */, 582E944F16837AA9003459FD /* network-small.png */, 384582C60FB9603600DDACB6 /* proc-small.png */, - 58F48AA2161D03C6008536A1 /* quick-connect-icon.pdf */, 58F48B2D161D08C0008536A1 /* quick-connect-icon-white.pdf */, + 58F48AA2161D03C6008536A1 /* quick-connect-icon.pdf */, 50F530511ABCF66B002F2C1A /* reset.pdf */, 582E946F16837DB2003459FD /* showconsole.png */, 588B2CC50FE5641E00EC5FC0 /* ssh-connected.png */, @@ -2114,12 +2126,12 @@ 582E9481168380D6003459FD /* sync_arrows_05.png */, 582E9482168380D6003459FD /* sync_arrows_06.png */, B5E2C5F90F2353B5007446E0 /* table-property.png */, - C9C9944B1678BCFA001F5DA8 /* table-small.png */, - C9C9944C1678BCFA001F5DA8 /* table-small@2x.png */, C9C994471678B3E6001F5DA8 /* table-small-square.png */, C9C994481678B3E6001F5DA8 /* table-small-square@2x.png */, - 582E948E168383F0003459FD /* table-view-small.png */, + C9C9944B1678BCFA001F5DA8 /* table-small.png */, + C9C9944C1678BCFA001F5DA8 /* table-small@2x.png */, 582E948D168383F0003459FD /* table-view-small-square.png */, + 582E948E168383F0003459FD /* table-view-small.png */, 58A137CC123ED5E6000B1B75 /* titlebarlock.png */, 582E94A716839AD5003459FD /* toolbar-preferences-autoupdate.png */, 582E94A916839AEF003459FD /* toolbar-preferences-general.png */, @@ -2842,6 +2854,7 @@ 17E641F20EF02036001BC333 /* toolbar-switch-to-structure.png in Resources */, 17E641F30EF02036001BC333 /* toolbar-switch-to-table-info.png in Resources */, 17E6420A0EF020CB001BC333 /* DBView.xib in Resources */, + BA6B043D20A4FB0B00B012E1 /* button_filter_active@2x.png in Resources */, 17E641FA0EF02088001BC333 /* Growl Registration Ticket.growlRegDict in Resources */, 17E641FC0EF02088001BC333 /* sequel-pro.scriptSuite in Resources */, 3876E1501CC0B26000D85154 /* button_add@2x.png in Resources */, @@ -2874,6 +2887,7 @@ BCA6F631100FA7D700E80253 /* FieldEditorSheet.xib in Resources */, 58D2E22E101222870063EF1D /* link-arrow-clicked.png in Resources */, 58D2E22F101222870063EF1D /* link-arrow-highlighted-clicked.png in Resources */, + BA6B044120A4FEDC00B012E1 /* button_filter_active.png in Resources */, 58D2E230101222870063EF1D /* link-arrow.png in Resources */, 17B548781E82B02100175D5A /* button_remove@2x.png in Resources */, 581068B61015411B0068C6E2 /* link-arrow-highlighted.png in Resources */, @@ -2927,7 +2941,9 @@ 5843DA6E161FA35600EAA6D1 /* key-icon.png in Resources */, 5843DA6F161FA35600EAA6D1 /* key-icon@2x.png in Resources */, C9F92710162D38D70051CB2E /* toolbar-switch-to-table-info@2x.png in Resources */, + BA6B044220A4FEDC00B012E1 /* button_filter.png in Resources */, C9F92712162D39E60051CB2E /* toolbar-switch-to-browse.png in Resources */, + BA6B043E20A4FB0B00B012E1 /* button_filter@2x.png in Resources */, C9F92714162D39FE0051CB2E /* toolbar-switch-to-browse@2x.png in Resources */, 17B5487B1E82B02100175D5A /* button_select_none@2x.png in Resources */, C9AD7C781676138000234EEE /* database-small@2x.png in Resources */, -- cgit v1.2.3