Merge remote branch 'origin/master' into import-gui
[pspp] / src / ui / gui / text-data-import-dialog.c
index d535734d08d78af2085f6ec1e556bac5d2791eb0..662caba809ee04e05ff12117d5e906420963a115 100644 (file)
@@ -19,6 +19,7 @@
 #include "ui/gui/text-data-import-dialog.h"
 
 #include "page-intro.h"
+#include "page-sheet-spec.h"
 #include "page-first-line.h"
 #include "page-separators.h"
 #include "page-formats.h"
@@ -77,6 +78,7 @@ text_data_import_assistant (PsppireDataWindow *dw)
 {
   GtkWindow *parent_window = GTK_WINDOW (dw);
   struct import_assistant *ia = init_assistant (parent_window);
+  struct sheet_spec_page *ssp ;
 
   if (!init_file (ia, parent_window))
     {
@@ -84,11 +86,18 @@ text_data_import_assistant (PsppireDataWindow *dw)
       return;
     }
 
+  ssp = ia->sheet_spec;
 
+  if (ia->spreadsheet)
+    {
+      ia->sheet_spec = sheet_spec_page_create (ia);
+    }
+  else
     {
       ia->intro = intro_page_create (ia);
       ia->separators = separators_page_create (ia);
       ia->first_line = first_line_page_create (ia);
+      printf ("%s:%d %p\n", __FILE__, __LINE__, ia->intro);
     }
   ia->formats = formats_page_create (ia);
 
@@ -123,6 +132,7 @@ text_data_import_assistant (PsppireDataWindow *dw)
       break;
     }
 
+  if (ssp) 
     {
       destroy_formats_page (ia);
       destroy_separators_page (ia);
@@ -223,6 +233,7 @@ generate_syntax (const struct import_assistant *ia)
 {
   struct string s = DS_EMPTY_INITIALIZER;
 
+  if (ia->spreadsheet == NULL)
     {
       syntax_gen_pspp (&s,
                       "GET DATA"
@@ -232,7 +243,6 @@ generate_syntax (const struct import_assistant *ia)
       if (ia->file.encoding && strcmp (ia->file.encoding, "Auto"))
        syntax_gen_pspp (&s, "  /ENCODING=%sq\n", ia->file.encoding);
 
-
       intro_append_syntax (ia->intro, &s);
 
 
@@ -245,7 +255,11 @@ generate_syntax (const struct import_assistant *ia)
       formats_append_syntax (ia, &s);
       apply_dict (ia->dict, &s);
     }
-
+  else
+    {
+      return sheet_spec_gen_syntax (ia);
+    }
+  
   return ds_cstr (&s);
 }