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/SPTableView.m | |
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/SPTableView.m')
-rw-r--r-- | Source/SPTableView.m | 50 |
1 files changed, 50 insertions, 0 deletions
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 |