aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/SPDataImport.h8
-rw-r--r--Source/SPDataImport.m14
2 files changed, 17 insertions, 5 deletions
diff --git a/Source/SPDataImport.h b/Source/SPDataImport.h
index b9810201..1b668be9 100644
--- a/Source/SPDataImport.h
+++ b/Source/SPDataImport.h
@@ -25,6 +25,12 @@
#import <MCPKit/MCPKit.h>
+typedef enum {
+ SPFieldMapperInProgress = 1,
+ SPFieldMapperCompleted = 2,
+ SPFieldMapperCancelled = 3
+} SPFieldMapperSheetStatus;
+
@class SPFieldMapperController, SPFileHandle;
@interface SPDataImport : NSObject
@@ -89,7 +95,7 @@
NSString *lastFilename;
NSString *csvImportHeaderString;
NSString *csvImportTailString;
- NSInteger fieldMapperSheetStatus;
+ SPFieldMapperSheetStatus fieldMapperSheetStatus;
NSInteger numberOfImportDataColumns;
BOOL fieldMappingArrayHasGlobalVariables;
BOOL csvImportMethodHasTail;
diff --git a/Source/SPDataImport.m b/Source/SPDataImport.m
index e5d7e36c..77e7f676 100644
--- a/Source/SPDataImport.m
+++ b/Source/SPDataImport.m
@@ -1245,7 +1245,7 @@
fieldMappingImportArray = [[NSArray alloc] initWithArray:importData];
numberOfImportDataColumns = [[importData objectAtIndex:0] count];
- fieldMapperSheetStatus = 1;
+ fieldMapperSheetStatus = SPFieldMapperInProgress;
fieldMappingArrayHasGlobalVariables = NO;
// Init the field mapper controller
@@ -1264,9 +1264,15 @@
[[[fieldMapperController window] onMainThread] makeKeyWindow];
// Wait for field mapper sheet
- while (fieldMapperSheetStatus == 1)
+ while (fieldMapperSheetStatus == SPFieldMapperInProgress)
usleep(100000);
+ // If the mapping was cancelled, abort the import
+ if (fieldMapperSheetStatus == SPFieldMapperCancelled) {
+ if (fieldMapperController) [fieldMapperController release];
+ return FALSE;
+ }
+
// Get mapping settings and preset some global variables
fieldMapperOperator = [[NSArray arrayWithArray:[fieldMapperController fieldMapperOperator]] retain];
fieldMappingArray = [[NSArray arrayWithArray:[fieldMapperController fieldMappingArray]] retain];
@@ -1317,7 +1323,7 @@
if(fieldMapperController) [fieldMapperController release];
- if(fieldMapperSheetStatus == 2)
+ if(fieldMapperSheetStatus == SPFieldMapperCompleted)
return YES;
else
return NO;
@@ -1329,7 +1335,7 @@
- (void)fieldMapperDidEndSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
{
[sheet orderOut:self];
- fieldMapperSheetStatus = (returnCode) ? 2 : 3;
+ fieldMapperSheetStatus = (returnCode) ? SPFieldMapperCompleted : SPFieldMapperCancelled;
}
/**