aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPTableContent.m
diff options
context:
space:
mode:
Diffstat (limited to 'Source/SPTableContent.m')
-rw-r--r--Source/SPTableContent.m42
1 files changed, 22 insertions, 20 deletions
diff --git a/Source/SPTableContent.m b/Source/SPTableContent.m
index d466f2c0..7692267f 100644
--- a/Source/SPTableContent.m
+++ b/Source/SPTableContent.m
@@ -163,10 +163,12 @@
[contentFilters setDictionary:[NSPropertyListSerialization propertyListFromData:defaultFilterData
mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&convError]];
- if(contentFilters == nil || readError != nil || convError != nil) {
+
+ if (contentFilters == nil || readError != nil || convError != nil) {
NSLog(@"Error while reading 'ContentFilters.plist':\n%@\n%@", [readError localizedDescription], convError);
NSBeep();
- } else {
+ }
+ else {
[numberOfDefaultFilters setObject:[NSNumber numberWithInteger:[[contentFilters objectForKey:@"number"] count]] forKey:@"number"];
[numberOfDefaultFilters setObject:[NSNumber numberWithInteger:[[contentFilters objectForKey:@"date"] count]] forKey:@"date"];
[numberOfDefaultFilters setObject:[NSNumber numberWithInteger:[[contentFilters objectForKey:@"string"] count]] forKey:@"string"];
@@ -176,7 +178,6 @@
kCellEditorErrorNoMatch = NSLocalizedString(@"Field is not editable. No matching record found.\nReload table, check the encoding, or try to add\na primary key field or more fields\nin the view declaration of '%@' to identify\nfield origin unambiguously.", @"Table Content result editing error - could not identify original row");
kCellEditorErrorNoMultiTabDb = NSLocalizedString(@"Field is not editable. Field has no or multiple table or database origin(s).",@"field is not editable due to no table/database");
kCellEditorErrorTooManyMatches = NSLocalizedString(@"Field is not editable. Couldn't identify field origin unambiguously (%ld match%@).", @"Query result editing error - could not match row being edited uniquely");
-
}
return self;
@@ -251,14 +252,11 @@
* reloading table data into the data array and redrawing the table.
*
* @param aTable The to be loaded table name
- *
*/
- (void)loadTable:(NSString *)aTable
{
-
// Abort the reload if the user is still editing a row
- if ( isEditingRow )
- return;
+ if (isEditingRow) return;
// If no table has been supplied, clear the table interface and return
if (!aTable || [aTable isEqualToString:@""]) {
@@ -1802,9 +1800,9 @@
NSDictionary *row;
NSArray *dbDataRow = nil;
NSUInteger i;
-
+
// Check whether a save of the current row is required.
- //if (![self saveRowOnDeselect]) return;
+ if (![self saveRowOnDeselect]) return;
if (![tableContentView numberOfSelectedRows]) return;
@@ -1812,13 +1810,14 @@
SPBeginAlertSheet(NSLocalizedString(@"Error", @"error"), NSLocalizedString(@"OK", @"OK button"), nil, nil, [tableDocumentInstance parentWindow], self, nil, nil, NSLocalizedString(@"You can only copy single rows.", @"message of panel when trying to copy multiple rows"));
return;
}
-
+
// Row contents
tempRow = [tableValues rowContentsAtIndex:[tableContentView selectedRow]];
#ifndef SP_REFACTOR
// If we don't show blobs, read data for this duplicate column from db
if ([prefs boolForKey:SPLoadBlobsAsNeeded]) {
+
// Abort if there are no indices on this table - argumentForRow will display an error.
if (![[self argumentForRow:[tableContentView selectedRow]] length]) {
return;
@@ -1856,12 +1855,12 @@
}
// Insert the copied row
- [tableValues insertRowContents:tempRow atIndex:[tableContentView selectedRow]+1];
+ [tableValues insertRowContents:tempRow atIndex:[tableContentView selectedRow] + 1];
tableRowsCount++;
// Select row and go in edit mode
[tableContentView reloadData];
- [tableContentView selectRowIndexes:[NSIndexSet indexSetWithIndex:[tableContentView selectedRow]+1] byExtendingSelection:NO];
+ [tableContentView selectRowIndexes:[NSIndexSet indexSetWithIndex:[tableContentView selectedRow] + 1] byExtendingSelection:NO];
isEditingRow = YES;
isEditingNewRow = YES;
@@ -2640,7 +2639,6 @@
contextInfo:nil];
}
-
/**
* Tries to write a new row to the table.
* Returns YES if row is written to table, otherwise NO; also returns YES if no row
@@ -2648,7 +2646,6 @@
*/
- (BOOL)saveRowToTable
{
-
// Only handle tables - views should be handled per-cell.
if ([tablesListInstance tableType] == SPTableTypeView) return NO;
@@ -2668,7 +2665,9 @@
NSUInteger i;
NSDictionary *fieldDefinition;
id rowObject;
- for (i = 0; i < [dataColumns count]; i++) {
+
+ for (i = 0; i < [dataColumns count]; i++)
+ {
rowObject = [tableValues cellDataAtRow:currentlyEditingRow column:i];
fieldDefinition = NSArrayObjectAtIndex(dataColumns, i);
@@ -2800,7 +2799,8 @@
[[tableDocumentInstance parentWindow] endEditingFor:nil];
previousTableRowsCount = tableRowsCount;
[self loadTableValues];
- } else {
+ }
+ else {
#endif
// Set the insertId for fields with auto_increment
for ( i = 0; i < [dataColumns count] ; i++ ) {
@@ -2818,7 +2818,7 @@
// Reload table if set to - otherwise no action required.
#ifndef SP_REFACTOR
- if ( [prefs boolForKey:SPReloadAfterEditingRow] ) {
+ if ([prefs boolForKey:SPReloadAfterEditingRow]) {
[[tableDocumentInstance parentWindow] endEditingFor:nil];
previousTableRowsCount = tableRowsCount;
[self loadTableValues];
@@ -2830,7 +2830,8 @@
return YES;
// Report errors which have occurred
- } else {
+ }
+ else {
SPBeginAlertSheet(NSLocalizedString(@"Couldn't write row", @"Couldn't write row error"), NSLocalizedString(@"Edit row", @"Edit row button"), NSLocalizedString(@"Discard changes", @"discard changes button"), nil, [tableDocumentInstance parentWindow], self, @selector(addRowErrorSheetDidEnd:returnCode:contextInfo:), nil,
[NSString stringWithFormat:NSLocalizedString(@"MySQL said:\n\n%@", @"message of panel when error while adding row to db"), [mySQLConnection getLastErrorMessage]]);
return NO;
@@ -2865,8 +2866,7 @@
*/
- (BOOL)saveRowOnDeselect
{
-
- if([tablesListInstance tableType] == SPTableTypeView) {
+ if ([tablesListInstance tableType] == SPTableTypeView) {
isSavingRow = NO;
return YES;
}
@@ -2879,6 +2879,7 @@
// If no rows are currently being edited, or a save is in progress, return success at once.
if (!isEditingRow || isSavingRow) return YES;
+
isSavingRow = YES;
// Attempt to save the row, and return YES if the save succeeded.
@@ -2889,6 +2890,7 @@
// Saving failed - return failure.
isSavingRow = NO;
+
return NO;
}