diff options
author | Bibiko <bibiko@eva.mpg.de> | 2010-08-23 14:17:33 +0000 |
---|---|---|
committer | Bibiko <bibiko@eva.mpg.de> | 2010-08-23 14:17:33 +0000 |
commit | 5f5548a39af6d108f387efc4c5d825ac2f92b776 (patch) | |
tree | 737b85c139f3644c5db08fc0dc68a9db338d3b49 | |
parent | 388ccb95f9cadc161f5bb35f34124effa73ab52d (diff) | |
download | sequelpro-5f5548a39af6d108f387efc4c5d825ac2f92b776.tar.gz sequelpro-5f5548a39af6d108f387efc4c5d825ac2f92b776.tar.bz2 sequelpro-5f5548a39af6d108f387efc4c5d825ac2f92b776.zip |
• Table Content editing via keyboard
- disable ↑ and ↓ for jumping the next table cell if current cell is a enum field to allow to use the arrow keys for selecting an item from the list
- Note: ?\018↩ handling has to be improved here! (coming soon)
-rw-r--r-- | Source/SPTableContent.m | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/SPTableContent.m b/Source/SPTableContent.m index 8f140fce..50b0bfa3 100644 --- a/Source/SPTableContent.m +++ b/Source/SPTableContent.m @@ -3833,15 +3833,22 @@ // Trap enter key else if ( [textView methodForSelector:command] == [textView methodForSelector:@selector(insertNewline:)] ) { + [[control window] makeFirstResponder:control]; if([tablesListInstance tableType] != SPTableTypeView) [self addRowToDB]; return TRUE; + } // Trap down arrow key else if ( [textView methodForSelector:command] == [textView methodForSelector:@selector(moveDown:)] ) { + + NSString *fieldType = [[tableDataInstance columnWithName:[[NSArrayObjectAtIndex([tableContentView tableColumns], column) headerCell] stringValue]] objectForKey:@"typegrouping"]; + if([fieldType isEqualToString:@"enum"]) + return NO; + NSUInteger newRow = row+1; if (newRow>=tableRowsCount) return TRUE; //check if we're already at the end of the list @@ -3860,6 +3867,11 @@ // Trap up arrow key else if ( [textView methodForSelector:command] == [textView methodForSelector:@selector(moveUp:)] ) { + + NSString *fieldType = [[tableDataInstance columnWithName:[[NSArrayObjectAtIndex([tableContentView tableColumns], column) headerCell] stringValue]] objectForKey:@"typegrouping"]; + if([fieldType isEqualToString:@"enum"]) + return NO; + if (row==0) return TRUE; //already at the beginning of the list NSUInteger newRow = row-1; |