Merge branch 'master' into import-gui
[pspp] / src / ui / gui / text-data-import-dialog.c
index d535734d08d78af2085f6ec1e556bac5d2791eb0..597f65127ebdf35fcfff11ab7794573e5e6d438f 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"
@@ -245,6 +256,10 @@ 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);
 }