Use the msg function to report errors wherever possible.
[pspp] / src / ui / gui / page-assistant.c
index a83fbb2cd5add5204aa9e315c2336ee830f27fea..683494b947165a815a7a4e441fdca6cb0edeb096 100644 (file)
@@ -46,7 +46,6 @@
 #include "ui/gui/psppire-empty-list-store.h"
 #include "ui/gui/psppire-var-sheet.h"
 
-#include "gl/error.h"
 #include "gl/intprops.h"
 #include "gl/xalloc.h"
 
@@ -169,10 +168,23 @@ on_prepare (GtkAssistant *assistant, GtkWidget *page,
     }
   else
     {
-      if (pn == 0)
-       prepare_separators_page (ia);
-      else if (pn == 3)
-       prepare_formats_page (ia);
+      switch (pn)
+       {
+       case 0:
+         reset_intro_page (ia);
+         break;
+       case 1:
+         reset_first_line_page (ia);
+         break;
+       case 2:
+         prepare_separators_page (ia);
+         reset_separators_page (ia);
+         break;
+       case 3:
+         prepare_formats_page (ia);
+         reset_formats_page (ia);
+         break;
+       }
     }
 
 
@@ -206,32 +218,42 @@ on_paste (GtkButton *button, struct import_assistant *ia)
   close_assistant (ia, PSPPIRE_RESPONSE_PASTE);
 }
 
-static GtkWidget *
-assist_get_page (struct assist_page *ap)
-{
-  if (ap == NULL)
-    return NULL;
-
-  return ap->page;
-}
-
 /* Called when the Reset button is clicked. */
 static void
 on_reset (GtkButton *button, struct import_assistant *ia)
 {
-  gint page_num = gtk_assistant_get_current_page (ia->asst.assistant);
-  GtkWidget *page = gtk_assistant_get_nth_page (ia->asst.assistant, page_num);
-
-  if (page == assist_get_page ((struct assist_page *) ia->intro))
-    reset_intro_page (ia);
-  else if (page == assist_get_page ((struct assist_page *) ia->first_line))
-    reset_first_line_page (ia);
-  else if (page == assist_get_page ((struct assist_page *) ia->separators))
-    reset_separators_page (ia);
-  else if (page == assist_get_page ((struct assist_page *) ia->formats))
-    reset_formats_page (ia);
-  else if (page == assist_get_page ((struct assist_page *) ia->sheet_spec))
-    reset_sheet_spec_page (ia);
+  gint pn = gtk_assistant_get_current_page (ia->asst.assistant);
+  
+  if ( ia->spreadsheet) 
+    {
+      switch (pn)
+       {
+       case 0:
+         reset_sheet_spec_page (ia);
+        break;
+       case 1:
+         reset_formats_page (ia);
+         break;
+       }
+    }
+  else
+    {
+      switch (pn)
+       {
+       case 0:
+         reset_intro_page (ia);
+         break;
+       case 1:
+         reset_first_line_page (ia);
+         break;
+       case 2:
+         reset_separators_page (ia);
+         break;
+       case 3:
+         reset_formats_page (ia);
+         break;
+       }
+    }
 }
 
 /* Causes the assistant to close, returning RESPONSE for