diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/SPFieldMapperController.h | 1 | ||||
-rw-r--r-- | Source/SPFieldMapperController.m | 23 | ||||
-rw-r--r-- | Source/TableDump.h | 1 | ||||
-rw-r--r-- | Source/TableDump.m | 14 |
4 files changed, 28 insertions, 11 deletions
diff --git a/Source/SPFieldMapperController.h b/Source/SPFieldMapperController.h index 4b9a3178..8a2caf15 100644 --- a/Source/SPFieldMapperController.h +++ b/Source/SPFieldMapperController.h @@ -92,6 +92,7 @@ - (IBAction)stepRow:(id)sender; - (IBAction)addGlobalSourceVariable:(id)sender; - (IBAction)closeSheet:(id)sender; +- (IBAction)goBackToFileChooser:(id)sender; // Others - (void)matchHeaderNames; diff --git a/Source/SPFieldMapperController.m b/Source/SPFieldMapperController.m index 42ac3b0d..7dc0a3eb 100644 --- a/Source/SPFieldMapperController.m +++ b/Source/SPFieldMapperController.m @@ -25,6 +25,7 @@ #import "SPFieldMapperController.h" #import "SPTableData.h" +#import "TableDump.h" #import "TablesList.h" #import "SPArrayAdditions.h" #import "SPStringAdditions.h" @@ -315,7 +316,13 @@ - (IBAction)addGlobalSourceVariable:(id)sender { + +} +- (IBAction)goBackToFileChooser:(id)sender +{ + [NSApp endSheet:[self window] returnCode:[sender tag]]; + [theDelegate importFile]; } #pragma mark - @@ -494,14 +501,10 @@ else if ([[aTableColumn identifier] isEqualToString:@"import_value"]) { if ([[aTableColumn dataCell] isKindOfClass:[NSPopUpButtonCell class]]) { [(NSPopUpButtonCell *)[aTableColumn dataCell] removeAllItems]; + [(NSPopUpButtonCell *)[aTableColumn dataCell] addItemsWithTitles:fieldMappingButtonOptions]; + // Hide csv file column value if user doesn't want to import it if([fieldMappingOperatorArray objectAtIndex:rowIndex] != doNotImport) - [(NSPopUpButtonCell *)[aTableColumn dataCell] addItemsWithTitles:fieldMappingButtonOptions]; - return [fieldMappingArray objectAtIndex:rowIndex]; - // } else { - // NSString *defaultValue = [fieldMappingTableDefaultValues objectAtIndex:[[fieldMappingArray objectAtIndex:rowIndex] integerValue]]; - // [(NSPopUpButtonCell *)[aTableColumn dataCell] addItemWithTitle:defaultValue]; - // return defaultValue; - // } + return [fieldMappingArray objectAtIndex:rowIndex]; } } else if ([[aTableColumn identifier] isEqualToString:@"operator"]) { @@ -518,9 +521,10 @@ { if ([[aTableColumn identifier] isEqualToString:@"import_value"]) { [fieldMappingArray replaceObjectAtIndex:rowIndex withObject:anObject]; + // If user changed the csv file column set the operator to doImport + [fieldMappingOperatorArray replaceObjectAtIndex:rowIndex withObject:doImport]; } else if ([[aTableColumn identifier] isEqualToString:@"operator"]) { - if([fieldMappingOperatorArray objectAtIndex:rowIndex] == anObject) return; if([fieldMappingOperatorArray objectAtIndex:rowIndex] == doNotImport) { [fieldMappingOperatorArray replaceObjectAtIndex:rowIndex withObject:anObject]; [fieldMappingArray replaceObjectAtIndex:rowIndex withObject:lastDisabledCSVFieldcolumn]; @@ -528,8 +532,9 @@ if(anObject == doNotImport) lastDisabledCSVFieldcolumn = [fieldMappingArray objectAtIndex:rowIndex]; [fieldMappingOperatorArray replaceObjectAtIndex:rowIndex withObject:anObject]; } - [aTableView performSelector:@selector(reloadData) withObject:nil afterDelay:0.01]; } + // Refresh table + [aTableView performSelector:@selector(reloadData) withObject:nil afterDelay:0.01]; } @end diff --git a/Source/TableDump.h b/Source/TableDump.h index 001b1778..3db8c908 100644 --- a/Source/TableDump.h +++ b/Source/TableDump.h @@ -108,6 +108,7 @@ typedef enum _SPExportModes { NSArray *fieldMapperOperator; NSString *selectedTableTarget; NSString *selectedImportMethod; + NSString *lastFilename; NSInteger fieldMapperSheetStatus; NSUInteger exportMode; diff --git a/Source/TableDump.m b/Source/TableDump.m index 9e42e105..4854aad3 100644 --- a/Source/TableDump.m +++ b/Source/TableDump.m @@ -496,7 +496,7 @@ // Show openPanel [openPanel beginSheetForDirectory:[prefs objectForKey:@"openPath"] - file:nil + file:[lastFilename lastPathComponent] modalForWindow:tableWindow modalDelegate:self didEndSelector:@selector(openPanelDidEnd:returnCode:contextInfo:) @@ -1089,8 +1089,16 @@ // Reset progress cancelled from any previous runs progressCancelled = NO; + if(lastFilename) [lastFilename release]; lastFilename = nil; + lastFilename = [[NSString stringWithString:[sheet filename]] retain]; + + if(lastFilename == nil || ![lastFilename length]) { + NSBeep(); + return; + } + // begin import process - [NSThread detachNewThreadSelector:@selector(importBackgroundProcess:) toTarget:self withObject:[sheet filename]]; + [NSThread detachNewThreadSelector:@selector(importBackgroundProcess:) toTarget:self withObject:lastFilename]; } - (void)startSQLImportProcessWithFile:(NSString *)filename @@ -2797,6 +2805,7 @@ fieldMappingImportArray = nil; fieldMappingImportArrayIsPreview = NO; prefs = nil; + lastFilename = nil; return self; } @@ -2805,6 +2814,7 @@ { [tables release]; if (fieldMappingImportArray) [fieldMappingImportArray release]; + if (lastFilename) [lastFilename release]; if (prefs) [prefs release]; [super dealloc]; |