aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/SPXMLExporter.m3
-rw-r--r--Source/SPXMLExporterDelegate.m16
2 files changed, 11 insertions, 8 deletions
diff --git a/Source/SPXMLExporter.m b/Source/SPXMLExporter.m
index 2da40220..83497ec4 100644
--- a/Source/SPXMLExporter.m
+++ b/Source/SPXMLExporter.m
@@ -129,6 +129,9 @@
currentPoolDataLength = 0;
+ // Inform the delegate that we are about to start writing the data to disk
+ [delegate performSelectorOnMainThread:@selector(xmlExportProcessWillBeginWritingData:) withObject:self waitUntilDone:NO];
+
while (1)
{
// Check for cancellation flag
diff --git a/Source/SPXMLExporterDelegate.m b/Source/SPXMLExporterDelegate.m
index 5aa01ba8..17748bdc 100644
--- a/Source/SPXMLExporterDelegate.m
+++ b/Source/SPXMLExporterDelegate.m
@@ -107,6 +107,14 @@
*/
- (void)xmlExportProcessProgressUpdated:(SPXMLExporter *)exporter
{
+ [[exportProgressIndicator onMainThread] setDoubleValue:[exporter exportProgressValue]];
+}
+
+/**
+ *
+ */
+- (void)xmlExportProcessWillBeginWritingData:(SPXMLExporter *)exporter
+{
// Only update the progress text if this is a table export
if (exportSource == SPTableExport) {
[[exportProgressText onMainThread] setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Table %lu of %lu (%@): Writing data...", @"export label showing app if writing data for a specific table"), currentTableExportIndex, exportTableCount, [exporter xmlTableName]]];
@@ -123,12 +131,4 @@
[[exportProgressIndicator onMainThread] setDoubleValue:0];
}
-/**
- *
- */
-- (void)xmlExportProcessWillBeginWritingData:(SPXMLExporter *)exporter
-{
- [exportProgressIndicator setDoubleValue:[exporter exportProgressValue]];
-}
-
@end