diff options
author | Bibiko <bibiko@eva.mpg.de> | 2009-07-15 15:26:49 +0000 |
---|---|---|
committer | Bibiko <bibiko@eva.mpg.de> | 2009-07-15 15:26:49 +0000 |
commit | bc8d45aebfbab783517560d949a8d53e36fba990 (patch) | |
tree | 9eb6659641b4efa05d6ef5f4b97d9f5bdd4527d9 /Source | |
parent | e778e46918e537f88bb41d27adf99f888e4b8ea3 (diff) | |
download | sequelpro-bc8d45aebfbab783517560d949a8d53e36fba990.tar.gz sequelpro-bc8d45aebfbab783517560d949a8d53e36fba990.tar.bz2 sequelpro-bc8d45aebfbab783517560d949a8d53e36fba990.zip |
• a right-click at a row within a tableView will select that row before ordering out the contextual menu if not more than one row is selected
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CMCopyTable.h | 3 | ||||
-rw-r--r-- | Source/SPTableView.h | 31 | ||||
-rw-r--r-- | Source/SPTableView.m | 50 |
3 files changed, 83 insertions, 1 deletions
diff --git a/Source/CMCopyTable.h b/Source/CMCopyTable.h index 5da66ec2..4bedac2c 100644 --- a/Source/CMCopyTable.h +++ b/Source/CMCopyTable.h @@ -23,6 +23,7 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #import <AppKit/AppKit.h> +#import "SPTableView.h" /*! @class copyTable @@ -32,7 +33,7 @@ is in similar format. The values for each cell are obtained via the objects description method */ -@interface CMCopyTable : NSTableView +@interface CMCopyTable : SPTableView { id tableInstance; // the table content view instance diff --git a/Source/SPTableView.h b/Source/SPTableView.h new file mode 100644 index 00000000..b9b3bfc4 --- /dev/null +++ b/Source/SPTableView.h @@ -0,0 +1,31 @@ +// +// $Id: SPTableView.h 866 2009-06-15 16:05:54Z bibiko $ +// +// SPTableView.h +// sequel-pro +// +// Created by Hans-Jörg Bibiko on July 15, 2009 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> + +#import <Cocoa/Cocoa.h> + + +@interface SPTableView : NSTableView + + +@end diff --git a/Source/SPTableView.m b/Source/SPTableView.m new file mode 100644 index 00000000..30ba9674 --- /dev/null +++ b/Source/SPTableView.m @@ -0,0 +1,50 @@ +// +// $Id: SPTableView.m 866 2009-06-15 16:05:54Z bibiko $ +// +// SPTableView.m +// sequel-pro +// +// Created by Hans-Jörg Bibiko on July 15, 2009 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// More info at <http://code.google.com/p/sequel-pro/> + +#import "SPTableView.h" + + +@implementation SPTableView + +/* + * Right-click at row will select that row before ordering out the contextual menu + * if not more than one row is selected + */ +- (NSMenu *)menuForEvent:(NSEvent *)event +{ + + // If more than one row is selected only returns the default contextual menu + if([self numberOfSelectedRows] > 1) + return [self menu]; + + // Right-click at a row will select that row before ordering out the context menu + int row = [self rowAtPoint:[self convertPoint:[event locationInWindow] fromView:nil]]; + if(row >= 0 && row < [self numberOfRows]) { + [self selectRow:row byExtendingSelection:NO]; + [[self window] makeFirstResponder:self]; + } + return [self menu]; +} + +@end |