From f6ae8533374461cb00133d4cdaaed1c4172c0940 Mon Sep 17 00:00:00 2001 From: Bibiko Date: Fri, 29 Oct 2010 23:56:40 +0000 Subject: =?UTF-8?q?=E2=80=A2=20Custom=20Query=20and=20Content=20table=20ed?= =?UTF-8?q?iting=20-=20fixed=20issue=20for=20tab=20navigating=20if=20the?= =?UTF-8?q?=20table=20is=20already=20in=20the=20edit=20mode=20-=20!!=20FOR?= =?UTF-8?q?=20SAFETY=20reasons=20disabled=20enter/return/tab=20enters=20th?= =?UTF-8?q?e=20edit=20mode=20!!=20to=20avoid=20crashes=20until=20we=20foun?= =?UTF-8?q?d=20a=20better=20solution=20due=20to=20the=20non-waiting=20fiel?= =?UTF-8?q?d=20editor=20sheets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/SPCopyTable.m | 33 +++++++++++++++++++++------------ Source/SPCustomQuery.m | 3 --- Source/SPTableContent.m | 3 --- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/Source/SPCopyTable.m b/Source/SPCopyTable.m index c8a32f00..513421a0 100644 --- a/Source/SPCopyTable.m +++ b/Source/SPCopyTable.m @@ -738,27 +738,36 @@ NSInteger MENU_EDIT_COPY_AS_SQL = 2003; // RETURN or ENTER invoke editing mode for selected row // by calling tableView:shouldEditTableColumn: to validate - if([self numberOfSelectedRows] == 1 && ([theEvent keyCode] == 36 || [theEvent keyCode] == 76)) { - for(id item in [self tableColumns]) { - // Run in fieldEditorMode? - if(![[self delegate] tableView:self shouldEditTableColumn:item row:[self selectedRow]]) - ; - else { - [self editColumn:0 row:[self selectedRow] withEvent:nil select:YES]; - break; + // TODO: find a better solution HansJB + if([self numberOfSelectedRows] == 1 && ([theEvent keyCode] == 36 || [theEvent keyCode] == 76)) { + if([[self delegate] isKindOfClass:[SPCustomQuery class]] || [[self delegate] isKindOfClass:[SPTableContent class]]) { + ; + } else { + for(id item in [self tableColumns]) { + // Run in fieldEditorMode? + if(![[self delegate] tableView:self shouldEditTableColumn:item row:[self selectedRow]]) + ; + else { + [self editColumn:0 row:[self selectedRow] withEvent:nil select:YES]; + break; + } } } - return; } - + // Check if ESCAPE is hit and use it to cancel row editing if supported - else if ([theEvent keyCode] == 53 && [[self delegate] respondsToSelector:@selector(cancelRowEditing)]) + if ([theEvent keyCode] == 53 && [[self delegate] respondsToSelector:@selector(cancelRowEditing)]) { if ([[self delegate] cancelRowEditing]) return; } - + + // TODO: find a better solution HansJB + else if ([theEvent keyCode] == 48 && ([[self delegate] isKindOfClass:[SPCustomQuery class]] + || [[self delegate] isKindOfClass:[SPTableContent class]])) { + return; + } [super keyDown:theEvent]; } diff --git a/Source/SPCustomQuery.m b/Source/SPCustomQuery.m index 1a7eeffe..5eea9f6f 100644 --- a/Source/SPCustomQuery.m +++ b/Source/SPCustomQuery.m @@ -3599,9 +3599,6 @@ // Call the field editor sheet [self tableView:customQueryView shouldEditTableColumn:NSArrayObjectAtIndex([customQueryView tableColumns], column) row:row]; - // Reset the field editor - [customQueryView editColumn:column row:row withEvent:nil select:YES]; - return NO; } diff --git a/Source/SPTableContent.m b/Source/SPTableContent.m index 0ee639c8..ac76f093 100644 --- a/Source/SPTableContent.m +++ b/Source/SPTableContent.m @@ -4204,9 +4204,6 @@ // Call the field editor sheet [self tableView:tableContentView shouldEditTableColumn:NSArrayObjectAtIndex([tableContentView tableColumns], column) row:row]; - // Reset the field editor - [tableContentView editColumn:column row:row withEvent:nil select:YES]; - return NO; } -- cgit v1.2.3