aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPQueryFavoriteManager.m
diff options
context:
space:
mode:
Diffstat (limited to 'Source/SPQueryFavoriteManager.m')
-rw-r--r--Source/SPQueryFavoriteManager.m22
1 files changed, 20 insertions, 2 deletions
diff --git a/Source/SPQueryFavoriteManager.m b/Source/SPQueryFavoriteManager.m
index e49dbb13..5ad6644d 100644
--- a/Source/SPQueryFavoriteManager.m
+++ b/Source/SPQueryFavoriteManager.m
@@ -303,6 +303,13 @@
- (IBAction)closeQueryManagerSheet:(id)sender
{
+ // First check for ESC if pressed while inline editing
+ if(![sender tag] && isTableCellEditing) {
+ [favoritesTableView abortEditing];
+ isTableCellEditing = NO;
+ return;
+ }
+
[NSApp endSheet:[self window] returnCode:0];
[[self window] orderOut:self];
@@ -485,7 +492,12 @@
*/
- (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
- return ([[favoriteProperties objectAtIndex:rowIndex] intValue] == SP_FAVORITETYPE_HEADER) ? NO : YES;
+ if([[favoriteProperties objectAtIndex:rowIndex] intValue] == SP_FAVORITETYPE_HEADER) {
+ return NO;
+ } else {
+ isTableCellEditing = YES;
+ return YES;
+ }
}
/*
@@ -495,7 +507,13 @@
{
return ([[favoriteProperties objectAtIndex:rowIndex] intValue] == SP_FAVORITETYPE_HEADER) ? YES : NO;
}
-
+/*
+ * Detect if inline editing was done - then ESC to close the sheet will be activate
+ */
+- (void)controlTextDidEndEditing:(NSNotification *)aNotification
+{
+ isTableCellEditing = NO;
+}
/*
* Changes in the name text field will be saved in data source directly
* to update the table view accordingly