diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/SPTextViewAdditions.m | 9 | ||||
-rw-r--r-- | Source/TableContent.m | 15 |
2 files changed, 15 insertions, 9 deletions
diff --git a/Source/SPTextViewAdditions.m b/Source/SPTextViewAdditions.m index 63a01798..ef0dff38 100644 --- a/Source/SPTextViewAdditions.m +++ b/Source/SPTextViewAdditions.m @@ -390,6 +390,15 @@ */ - (IBAction)insertNULLvalue:(id)sender { + + // If self is an edited table cell insert [NSNull null] directly in the table's data source + // TODO: up to now only for CMCopyTable + if([[[[self delegate] class] description] isEqualToString:@"CMCopyTable"]) { + id aTableView = [self delegate]; + NSUInteger currentEditedColumn = [aTableView editedColumn]; + NSUInteger currentEditedRow = [aTableView editedRow]; + [[aTableView delegate] tableView:aTableView setObjectValue:[NSNull null] forTableColumn:[[aTableView tableColumns] objectAtIndex:currentEditedColumn] row:currentEditedRow]; + } id prefs = [NSUserDefaults standardUserDefaults]; if([self respondsToSelector:@selector(insertText:)]) if([prefs objectForKey:SPNullValue] && [[prefs objectForKey:SPNullValue] length]) diff --git a/Source/TableContent.m b/Source/TableContent.m index 3b22db96..4d878527 100644 --- a/Source/TableContent.m +++ b/Source/TableContent.m @@ -2718,7 +2718,9 @@ // If user wants to edit 'cell' set text color to black and return to avoid // writing in gray if value was NULL - if ( [aTableView editedColumn] == columnIndex && [aTableView editedRow] == rowIndex) { + if ([aTableView editedColumn] != -1 + && [aTableView editedRow] == rowIndex + && [[NSArrayObjectAtIndex([aTableView tableColumns], [aTableView editedColumn]) identifier] integerValue] == columnIndex) { [cell setTextColor:[NSColor blackColor]]; return; } @@ -2744,17 +2746,12 @@ } NSDictionary *column = NSArrayObjectAtIndex(dataColumns, [[aTableColumn identifier] integerValue]); - - if (anObject) { - - // Restore NULLs if necessary - if ([anObject isEqualToString:[prefs objectForKey:SPNullValue]] && [[column objectForKey:@"null"] boolValue]) - anObject = [NSNull null]; + if (anObject) [tableValues replaceObjectInRow:rowIndex column:[[aTableColumn identifier] integerValue] withObject:anObject]; - } else { + else [tableValues replaceObjectInRow:rowIndex column:[[aTableColumn identifier] integerValue] withObject:@""]; - } + } #pragma mark - |