X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpage-assistant.c;h=683494b947165a815a7a4e441fdca6cb0edeb096;hb=fce028c380d496e42823fd24774e0159ed7cc110;hp=608412b03cd8db782f5fdf8dcc09bf1a92a29307;hpb=0b0ca44889e637251cb5f2dbf3c7fdc4ec8b9bd7;p=pspp diff --git a/src/ui/gui/page-assistant.c b/src/ui/gui/page-assistant.c index 608412b03c..683494b947 100644 --- a/src/ui/gui/page-assistant.c +++ b/src/ui/gui/page-assistant.c @@ -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" @@ -158,19 +157,34 @@ on_prepare (GtkAssistant *assistant, GtkWidget *page, if ( ia->spreadsheet) { if (pn == 0) - { - } + { + prepare_sheet_spec_page (ia); + } else if (pn == 1) { + post_sheet_spec_page (ia); prepare_formats_page (ia); } } 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; + } } @@ -204,30 +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); + 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