aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/SPTextViewAdditions.m9
-rw-r--r--Source/TableContent.m15
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 -