Only one spreadsheet
authorJohn Darrington <john@darrington.wattle.id.au>
Thu, 24 Jan 2013 19:10:53 +0000 (20:10 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 16 Feb 2013 14:03:31 +0000 (15:03 +0100)
src/ui/gui/page-file.c
src/ui/gui/page-sheet-spec.c
src/ui/gui/text-data-import-dialog.h

index 5254628bb8f96031a8faed732722234d1c1c5226..98362a3f13b5d1082eac4e9a73f9aeb9c0925849 100644 (file)
@@ -84,7 +84,6 @@ init_file (struct import_assistant *ia, GtkWindow *parent_window)
   struct sheet_spec_page *ssp = ia->sheet_spec;
   struct spreadsheet_read_info sri;
   struct spreadsheet_read_options opts;
-  struct spreadsheet *spreadsheet = NULL;
 
   file->lines = NULL;
   file->file_name = choose_file (parent_window, &file->encoding);
@@ -98,17 +97,13 @@ init_file (struct import_assistant *ia, GtkWindow *parent_window)
   sri.read_names = true;
   sri.asw = -1;
 
-  if (spreadsheet == NULL)
-    spreadsheet = gnumeric_probe (file->file_name);
+  if (ia->spreadsheet == NULL)
+    ia->spreadsheet = gnumeric_probe (file->file_name);
   
-  if (spreadsheet == NULL)
-    spreadsheet = ods_probe (file->file_name);
+  if (ia->spreadsheet == NULL)
+    ia->spreadsheet = ods_probe (file->file_name);
 
-  if (spreadsheet)
-    {
-      //      update_assistant (ia);
-    }
-  else
+  if (! ia->spreadsheet)
     {
     struct string input;
     struct line_reader *reader = line_reader_for_file (file->encoding, file->file_name, O_RDONLY);
index 84de6a86c9be6a3da5c4b5ddb1a03254195d85e4..6f23fe0b34bf1f7d1148f8bee41f835f0167c27d 100644 (file)
@@ -75,16 +75,12 @@ struct sheet_spec_page
     GtkWidget *page;
     struct casereader *reader;
     struct dictionary *dict;
-    struct spreadsheet *spreadsheet;
     
     struct spreadsheet_read_info sri;
     struct spreadsheet_read_options opts;
   };
 
 
-
-
-
 /* Initializes IA's sheet_spec substructure. */
 struct sheet_spec_page *
 sheet_spec_page_create (struct import_assistant *ia)
@@ -107,10 +103,8 @@ prepare_sheet_spec_page (struct import_assistant *ia)
   GtkBuilder *builder = ia->asst.builder;
   GtkWidget *sheet_entry = get_widget_assert (builder, "sheet-entry");
 
-  printf ("%s %d\n", __FUNCTION__, p->spreadsheet->sheets);
-
-  gtk_spin_button_set_digits (GTK_SPIN_BUTTON (sheet_entry), 0);
-  gtk_spin_button_set_range (GTK_SPIN_BUTTON (sheet_entry), 1, p->spreadsheet->sheets);
+    gtk_spin_button_set_digits (GTK_SPIN_BUTTON (sheet_entry), 0);
+  gtk_spin_button_set_range (GTK_SPIN_BUTTON (sheet_entry), 1, ia->spreadsheet->sheets);
 }
 
 
@@ -161,18 +155,18 @@ post_sheet_spec_page (struct import_assistant *ia)
   ssp->sri.read_names = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (readnames_checkbox));
   ssp->sri.asw = -1;
 
-  switch (ssp->spreadsheet->type)
+  switch (ia->spreadsheet->type)
     {
     case SPREADSHEET_ODS:
       {
-       creader = ods_make_reader (ssp->spreadsheet, &ssp->sri, &ssp->opts);
-       dict = ssp->spreadsheet->dict;
+       creader = ods_make_reader (ia->spreadsheet, &ssp->sri, &ssp->opts);
+       dict = ia->spreadsheet->dict;
       }
       break;
     case SPREADSHEET_GNUMERIC:
       {
-       creader = gnumeric_make_reader (ssp->spreadsheet, &ssp->sri, &ssp->opts);
-       dict = ssp->spreadsheet->dict;
+       creader = gnumeric_make_reader (ia->spreadsheet, &ssp->sri, &ssp->opts);
+       dict = ia->spreadsheet->dict;
       }
       break;
     default:
@@ -211,7 +205,6 @@ update_assistant (struct import_assistant *ia)
   struct sheet_spec_page *ssp = ia->sheet_spec;
   int rows = 0;
 
-
   if (ssp->dict)
     {
       struct ccase *c;
index 0122312300af74ff30a2e496d4bacc80d96f9693..847a1af6c6b304f742c80fc3bc393f75a9f2a1e2 100644 (file)
@@ -74,6 +74,8 @@ struct import_assistant
     int skip_lines;             /* Number of initial lines to skip? */
     bool variable_names;        /* Variable names above first line of data? */
     struct dictionary *dict;
+
+    struct spreadsheet *spreadsheet;
   };
 
 struct column