From 256b06622980461740af4774206ca77e534acd21 Mon Sep 17 00:00:00 2001 From: stuconnolly Date: Mon, 8 Mar 2010 14:45:27 +0000 Subject: Add a new 'Filter Content...' menu item to the 'Table' menu that switches to the content view and places the focus on the filter field. --- Source/TableContent.h | 1 + Source/TableContent.m | 10 ++++++ Source/TableDocument.h | 1 + Source/TableDocument.m | 15 +++++++++ Source/TablesList.m | 82 +++++++++++++++++++++++++------------------------- 5 files changed, 68 insertions(+), 41 deletions(-) (limited to 'Source') diff --git a/Source/TableContent.h b/Source/TableContent.h index b4941912..d6fbf422 100644 --- a/Source/TableContent.h +++ b/Source/TableContent.h @@ -169,5 +169,6 @@ - (NSString *)escapeFilterArgument:(NSString *)argument againstClause:(NSString *)clause; - (void)openContentFilterManager; +- (void)makeContentFilterHaveFocus; @end diff --git a/Source/TableContent.m b/Source/TableContent.m index 4a69e67a..9dd7f983 100644 --- a/Source/TableContent.m +++ b/Source/TableContent.m @@ -3225,6 +3225,16 @@ return YES; } +/** + * Makes the content filter field have focus by making it the first responder. + */ +- (void)makeContentFilterHaveFocus +{ + [tableWindow makeFirstResponder:argumentField]; +} + +#pragma mark - + // Last but not least - (void)dealloc { diff --git a/Source/TableDocument.h b/Source/TableDocument.h index e897ed36..bb91fa5a 100644 --- a/Source/TableDocument.h +++ b/Source/TableDocument.h @@ -226,6 +226,7 @@ - (IBAction)checksumTable:(id)sender; - (IBAction)saveCreateSyntax:(id)sender; - (IBAction)copyCreateTableSyntaxFromSheet:(id)sender; +- (IBAction)focusOnTableContentFilter:(id)sender; // Other methods - (void) setQueryMode:(NSInteger)theQueryMode; diff --git a/Source/TableDocument.m b/Source/TableDocument.m index c74264c4..69fe4a0c 100644 --- a/Source/TableDocument.m +++ b/Source/TableDocument.m @@ -2330,6 +2330,16 @@ } } +/** + * Switches to the content view and makes the filter field the first responder (has focus). + */ +- (IBAction)focusOnTableContentFilter:(id)sender +{ + [self viewContent:self]; + + [tableContentInstance makeContentFilterHaveFocus]; +} + #pragma mark - #pragma mark Other Methods @@ -3171,6 +3181,11 @@ if ([menuItem action] == @selector(clearConsole:)) { return ([[SPQueryController sharedQueryController] consoleMessageCount] > 0); } + + // Focus on table content filter + if ([menuItem action] == @selector(focusOnTableContentFilter:)) { + return ([self table] != nil && [[self table] isNotEqualTo:@""]); + } return [super validateMenuItem:menuItem]; } diff --git a/Source/TablesList.m b/Source/TablesList.m index e9c07510..8e4ae268 100644 --- a/Source/TablesList.m +++ b/Source/TablesList.m @@ -877,18 +877,18 @@ if(selectedTableType == SP_TABLETYPE_VIEW) { // Change mainMenu > Table > ... according to table type - [[tableSubMenu itemAtIndex:0] setTitle:NSLocalizedString(@"Copy Create View Syntax", @"copy create view syntax menu item")]; - [[tableSubMenu itemAtIndex:1] setTitle:NSLocalizedString(@"Show Create View Syntax", @"show create view syntax menu item")]; - [[tableSubMenu itemAtIndex:2] setHidden:NO]; // divider - [[tableSubMenu itemAtIndex:3] setHidden:NO]; - [[tableSubMenu itemAtIndex:3] setTitle:NSLocalizedString(@"Check View", @"check view menu item")]; - [[tableSubMenu itemAtIndex:4] setHidden:YES]; // repair - [[tableSubMenu itemAtIndex:5] setHidden:YES]; // divider - [[tableSubMenu itemAtIndex:6] setHidden:YES]; // analyse - [[tableSubMenu itemAtIndex:7] setHidden:YES]; // optimize - [[tableSubMenu itemAtIndex:8] setHidden:NO]; - [[tableSubMenu itemAtIndex:8] setTitle:NSLocalizedString(@"Flush View", @"flush view menu item")]; - [[tableSubMenu itemAtIndex:9] setHidden:YES]; // checksum + [[tableSubMenu itemAtIndex:2] setTitle:NSLocalizedString(@"Copy Create View Syntax", @"copy create view syntax menu item")]; + [[tableSubMenu itemAtIndex:3] setTitle:NSLocalizedString(@"Show Create View Syntax", @"show create view syntax menu item")]; + [[tableSubMenu itemAtIndex:4] setHidden:NO]; // divider + [[tableSubMenu itemAtIndex:5] setHidden:NO]; + [[tableSubMenu itemAtIndex:5] setTitle:NSLocalizedString(@"Check View", @"check view menu item")]; + [[tableSubMenu itemAtIndex:6] setHidden:YES]; // repair + [[tableSubMenu itemAtIndex:7] setHidden:YES]; // divider + [[tableSubMenu itemAtIndex:8] setHidden:YES]; // analyse + [[tableSubMenu itemAtIndex:9] setHidden:YES]; // optimize + [[tableSubMenu itemAtIndex:10] setHidden:NO]; + [[tableSubMenu itemAtIndex:10] setTitle:NSLocalizedString(@"Flush View", @"flush view menu item")]; + [[tableSubMenu itemAtIndex:11] setHidden:YES]; // checksum [renameTableMenuItem setHidden:NO]; // we don't have to check the mysql version [renameTableMenuItem setTitle:NSLocalizedString(@"Rename View...", @"rename view menu title")]; @@ -905,22 +905,22 @@ [removeTableContextMenuItem setTitle:NSLocalizedString(@"Remove View", @"remove view menu title")]; } else if(selectedTableType == SP_TABLETYPE_TABLE) { - [[tableSubMenu itemAtIndex:0] setTitle:NSLocalizedString(@"Copy Create Table Syntax", @"copy create table syntax menu item")]; - [[tableSubMenu itemAtIndex:1] setTitle:NSLocalizedString(@"Show Create Table Syntax", @"show create table syntax menu item")]; - [[tableSubMenu itemAtIndex:2] setHidden:NO]; // divider - [[tableSubMenu itemAtIndex:3] setHidden:NO]; - [[tableSubMenu itemAtIndex:3] setTitle:NSLocalizedString(@"Check Table", @"check table menu item")]; - [[tableSubMenu itemAtIndex:4] setHidden:NO]; - [[tableSubMenu itemAtIndex:4] setTitle:NSLocalizedString(@"Repair Table", @"repair table menu item")]; - [[tableSubMenu itemAtIndex:5] setHidden:NO]; // divider + [[tableSubMenu itemAtIndex:2] setTitle:NSLocalizedString(@"Copy Create Table Syntax", @"copy create table syntax menu item")]; + [[tableSubMenu itemAtIndex:3] setTitle:NSLocalizedString(@"Show Create Table Syntax", @"show create table syntax menu item")]; + [[tableSubMenu itemAtIndex:4] setHidden:NO]; // divider + [[tableSubMenu itemAtIndex:5] setHidden:NO]; + [[tableSubMenu itemAtIndex:5] setTitle:NSLocalizedString(@"Check Table", @"check table menu item")]; [[tableSubMenu itemAtIndex:6] setHidden:NO]; - [[tableSubMenu itemAtIndex:6] setTitle:NSLocalizedString(@"Analyze Table", @"analyze table menu item")]; - [[tableSubMenu itemAtIndex:7] setHidden:NO]; - [[tableSubMenu itemAtIndex:7] setTitle:NSLocalizedString(@"Optimize Table", @"optimize table menu item")]; + [[tableSubMenu itemAtIndex:6] setTitle:NSLocalizedString(@"Repair Table", @"repair table menu item")]; + [[tableSubMenu itemAtIndex:7] setHidden:NO]; // divider [[tableSubMenu itemAtIndex:8] setHidden:NO]; - [[tableSubMenu itemAtIndex:8] setTitle:NSLocalizedString(@"Flush Table", @"flush table menu item")]; + [[tableSubMenu itemAtIndex:8] setTitle:NSLocalizedString(@"Analyze Table", @"analyze table menu item")]; [[tableSubMenu itemAtIndex:9] setHidden:NO]; - [[tableSubMenu itemAtIndex:9] setTitle:NSLocalizedString(@"Checksum Table", @"checksum table menu item")]; + [[tableSubMenu itemAtIndex:9] setTitle:NSLocalizedString(@"Optimize Table", @"optimize table menu item")]; + [[tableSubMenu itemAtIndex:10] setHidden:NO]; + [[tableSubMenu itemAtIndex:10] setTitle:NSLocalizedString(@"Flush Table", @"flush table menu item")]; + [[tableSubMenu itemAtIndex:11] setHidden:NO]; + [[tableSubMenu itemAtIndex:11] setTitle:NSLocalizedString(@"Checksum Table", @"checksum table menu item")]; [renameTableMenuItem setHidden:NO]; [renameTableMenuItem setTitle:NSLocalizedString(@"Rename Table...", @"rename table menu title")]; @@ -940,16 +940,16 @@ } else if(selectedTableType == SP_TABLETYPE_PROC) { - [[tableSubMenu itemAtIndex:0] setTitle:NSLocalizedString(@"Copy Create Procedure Syntax", @"copy create proc syntax menu item")]; - [[tableSubMenu itemAtIndex:1] setTitle:NSLocalizedString(@"Show Create Procedure Syntax", @"show create proc syntax menu item")]; - [[tableSubMenu itemAtIndex:2] setHidden:YES]; // divider - [[tableSubMenu itemAtIndex:3] setHidden:YES]; // copy columns + [[tableSubMenu itemAtIndex:2] setTitle:NSLocalizedString(@"Copy Create Procedure Syntax", @"copy create proc syntax menu item")]; + [[tableSubMenu itemAtIndex:3] setTitle:NSLocalizedString(@"Show Create Procedure Syntax", @"show create proc syntax menu item")]; [[tableSubMenu itemAtIndex:4] setHidden:YES]; // divider - [[tableSubMenu itemAtIndex:5] setHidden:YES]; - [[tableSubMenu itemAtIndex:6] setHidden:YES]; - [[tableSubMenu itemAtIndex:7] setHidden:YES]; // divider + [[tableSubMenu itemAtIndex:5] setHidden:YES]; // copy columns + [[tableSubMenu itemAtIndex:6] setHidden:YES]; // divider + [[tableSubMenu itemAtIndex:7] setHidden:YES]; [[tableSubMenu itemAtIndex:8] setHidden:YES]; - [[tableSubMenu itemAtIndex:9] setHidden:YES]; + [[tableSubMenu itemAtIndex:9] setHidden:YES]; // divider + [[tableSubMenu itemAtIndex:10] setHidden:YES]; + [[tableSubMenu itemAtIndex:11] setHidden:YES]; [renameTableMenuItem setHidden:NO]; [renameTableMenuItem setTitle:NSLocalizedString(@"Rename Procedure...", @"rename proc menu title")]; @@ -967,16 +967,16 @@ } else if(selectedTableType == SP_TABLETYPE_FUNC) { - [[tableSubMenu itemAtIndex:0] setTitle:NSLocalizedString(@"Copy Create Function Syntax", @"copy create func syntax menu item")]; - [[tableSubMenu itemAtIndex:1] setTitle:NSLocalizedString(@"Show Create Function Syntax", @"show create func syntax menu item")]; - [[tableSubMenu itemAtIndex:2] setHidden:YES]; // divider - [[tableSubMenu itemAtIndex:3] setHidden:YES]; // copy columns + [[tableSubMenu itemAtIndex:2] setTitle:NSLocalizedString(@"Copy Create Function Syntax", @"copy create func syntax menu item")]; + [[tableSubMenu itemAtIndex:3] setTitle:NSLocalizedString(@"Show Create Function Syntax", @"show create func syntax menu item")]; [[tableSubMenu itemAtIndex:4] setHidden:YES]; // divider - [[tableSubMenu itemAtIndex:5] setHidden:YES]; - [[tableSubMenu itemAtIndex:6] setHidden:YES]; - [[tableSubMenu itemAtIndex:7] setHidden:YES]; // divider + [[tableSubMenu itemAtIndex:5] setHidden:YES]; // copy columns + [[tableSubMenu itemAtIndex:6] setHidden:YES]; // divider + [[tableSubMenu itemAtIndex:7] setHidden:YES]; [[tableSubMenu itemAtIndex:8] setHidden:YES]; - [[tableSubMenu itemAtIndex:9] setHidden:YES]; + [[tableSubMenu itemAtIndex:9] setHidden:YES]; // divider + [[tableSubMenu itemAtIndex:10] setHidden:YES]; + [[tableSubMenu itemAtIndex:11] setHidden:YES]; [renameTableMenuItem setHidden:NO]; [renameTableMenuItem setTitle:NSLocalizedString(@"Rename Function...", @"rename func menu title")]; -- cgit v1.2.3