aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authormltownsend <mltownsend@gmail.com>2009-08-25 23:07:20 +0000
committermltownsend <mltownsend@gmail.com>2009-08-25 23:07:20 +0000
commitb98dc4dc89367dd743d5c8e7e20ca481cc4ec58f (patch)
treec11937662b0062f151a7c06e4930b9e7a0865433 /Source
parentd3fd8895438bee156bf6ac1d2200edc801e01966 (diff)
downloadsequelpro-b98dc4dc89367dd743d5c8e7e20ca481cc4ec58f.tar.gz
sequelpro-b98dc4dc89367dd743d5c8e7e20ca481cc4ec58f.tar.bz2
sequelpro-b98dc4dc89367dd743d5c8e7e20ca481cc4ec58f.zip
Made it so that SPTableView and SPOutlineView will respond to enter or return being hit when a row is selected and go into edit mode.
Diffstat (limited to 'Source')
-rw-r--r--Source/SPOutlineView.h33
-rw-r--r--Source/SPOutlineView.m46
-rw-r--r--Source/SPTableView.m16
-rw-r--r--Source/SPUserManager.m12
4 files changed, 104 insertions, 3 deletions
diff --git a/Source/SPOutlineView.h b/Source/SPOutlineView.h
new file mode 100644
index 00000000..c361f788
--- /dev/null
+++ b/Source/SPOutlineView.h
@@ -0,0 +1,33 @@
+//
+// $Id: SPUserManager.m 856 2009-06-12 05:31:39Z mltownsend $
+//
+// SPOutlineView.h
+// sequel-pro
+//
+// Created by Mark Townsend on Aug 25, 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 <Foundation/Foundation.h>
+
+
+@interface SPOutlineView : NSOutlineView {
+
+}
+
+@end
diff --git a/Source/SPOutlineView.m b/Source/SPOutlineView.m
new file mode 100644
index 00000000..97f8cab3
--- /dev/null
+++ b/Source/SPOutlineView.m
@@ -0,0 +1,46 @@
+//
+// $Id: SPUserManager.m 856 2009-06-12 05:31:39Z mltownsend $
+//
+// SPOutlineView.m
+// sequel-pro
+//
+// Created by Mark Townsend on Aug 25, 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 "SPOutlineView.h"
+
+
+@implementation SPOutlineView
+
+- (BOOL)acceptsFirstResponder
+{
+ return YES;
+}
+
+-(void)keyDown:(NSEvent *)theEvent
+{
+ if([self numberOfSelectedRows] == 1 && ([theEvent keyCode] == 36 || [theEvent keyCode] == 76))
+ {
+ [self editColumn:0 row:[self selectedRow] withEvent:nil select:YES];
+ }
+ else {
+ [super keyDown:theEvent];
+ }
+}
+@end
diff --git a/Source/SPTableView.m b/Source/SPTableView.m
index bff7a923..f6af2c16 100644
--- a/Source/SPTableView.m
+++ b/Source/SPTableView.m
@@ -54,4 +54,20 @@
return [self menu];
}
+-(BOOL)acceptsFirstResponder
+{
+ return YES;
+}
+
+- (void)keyDown:(NSEvent *)theEvent
+{
+ if([self numberOfSelectedRows] == 1 && ([theEvent keyCode] == 36 || [theEvent keyCode] == 76))
+ {
+ [self editColumn:0 row:[self selectedRow] withEvent:nil select:YES];
+ }
+ else {
+ [super keyDown:theEvent];
+ }
+}
+
@end
diff --git a/Source/SPUserManager.m b/Source/SPUserManager.m
index dbac9ea2..44f499be 100644
--- a/Source/SPUserManager.m
+++ b/Source/SPUserManager.m
@@ -407,7 +407,10 @@
[treeController addChild:sender];
// Need to figure out how to do this right. I want to be able to have the newly
// added item be in edit mode to change the host name.
-// [outlineView editColumn:0 row:[outlineView selectedRow] withEvent:nil select:TRUE];
+ NSLog(@"selectedRow: %d", [outlineView selectedRow]);
+ NSIndexPath *indexPath = [treeController selectionIndexPath];
+ NSLog(@"selectedChild: %d", [indexPath indexAtPosition:[outlineView selectedRow]]);
+ [outlineView editColumn:0 row:[outlineView selectedRow] withEvent:nil select:TRUE];
}
- (IBAction)removeHost:(id)sender
@@ -425,11 +428,14 @@
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
{
- if ([menuItem action] == @selector(addHost:) ||
- [menuItem action] == @selector(removeHost:))
+ if ([menuItem action] == @selector(removeHost:))
{
return (([[treeController selectedObjects] count] > 0) &&
[[[treeController selectedObjects] objectAtIndex:0] parent] != nil);
+ }
+ else if ([menuItem action] == @selector(addHost:))
+ {
+ return ([[treeController selectedObjects] count] > 0);
}
return TRUE;
}