X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpage-assistant.c;h=e10d83d0c6a817d57c24bca512d15363b35f8fc0;hb=5394b684a10f6c5ea6c9e97cb7fb4c226e6938cc;hp=dfe7748b140f22dd55d0df706802f85a600cd0a3;hpb=d2010182cba609e77a6c901b7cf2d5a669e92757;p=pspp diff --git a/src/ui/gui/page-assistant.c b/src/ui/gui/page-assistant.c index dfe7748b14..e10d83d0c6 100644 --- a/src/ui/gui/page-assistant.c +++ b/src/ui/gui/page-assistant.c @@ -65,7 +65,6 @@ static void on_cancel (GtkAssistant *assistant, struct import_assistant *); static void on_close (GtkAssistant *assistant, struct import_assistant *); static void on_paste (GtkButton *button, struct import_assistant *); static void on_reset (GtkButton *button, struct import_assistant *); -static void close_assistant (struct import_assistant *, int response); /* Initializes IA's asst substructure. PARENT_WINDOW must be the window to use as the assistant window's parent. */ @@ -78,11 +77,6 @@ init_assistant (GtkWindow *parent_window) a->builder = builder_new ("text-data-import.ui"); a->assistant = GTK_ASSISTANT (gtk_assistant_new ()); - ia->sheet_spec = sheet_spec_page_create (ia); - ia->intro = intro_page_create (ia); - ia->separators = separators_page_create (ia); - - a->prop_renderer = gtk_cell_renderer_text_new (); g_object_ref_sink (a->prop_renderer); a->fixed_renderer = gtk_cell_renderer_text_new (); @@ -91,10 +85,6 @@ init_assistant (GtkWindow *parent_window) "family", "Monospace", (void *) NULL); - ia->first_line = first_line_page_create (ia); - - ia->formats = formats_page_create (ia); - g_signal_connect (a->assistant, "prepare", G_CALLBACK (on_prepare), ia); g_signal_connect (a->assistant, "cancel", G_CALLBACK (on_cancel), ia); g_signal_connect (a->assistant, "close", G_CALLBACK (on_close), ia); @@ -109,6 +99,7 @@ init_assistant (GtkWindow *parent_window) gtk_window_set_transient_for (GTK_WINDOW (a->assistant), parent_window); gtk_window_set_icon_name (GTK_WINDOW (a->assistant), "pspp"); + return ia; } @@ -161,14 +152,26 @@ static void on_prepare (GtkAssistant *assistant, GtkWidget *page, struct import_assistant *ia) { - struct sheet_spec_page *ssp = ia->sheet_spec; - int pn = gtk_assistant_get_current_page (assistant); - g_print ("%s:%d Page %d %p\n", __FILE__, __LINE__, pn, page); -#if 0 - if (pn == 1 && ssp->spreadsheet) - post_sheet_spec_page (ia); + 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); + } + if (gtk_assistant_get_page_type (assistant, page) == GTK_ASSISTANT_PAGE_CONFIRM) @@ -176,26 +179,12 @@ on_prepare (GtkAssistant *assistant, GtkWidget *page, else gtk_widget_grab_focus (assistant->forward); - - /* Prepare .... */ - if (page == ia->separators->page) - prepare_separators_page (ia); - else if (page == ia->formats->page) - prepare_formats_page (ia); - else if (page == ia->sheet_spec->page && ssp->spreadsheet) - { - prepare_sheet_spec_page (ia); - } - - - - +#if 0 gtk_widget_show (ia->asst.reset_button); if (page == ia->formats->page) gtk_widget_show (ia->asst.paste_button); else gtk_widget_hide (ia->asst.paste_button); - #endif } @@ -249,7 +238,10 @@ static void close_assistant (struct import_assistant *ia, int response) { ia->asst.response = response; - g_main_loop_quit (ia->asst.main_loop); + /* Use our loop_done variable until we find out + why g_main_loop_quit (ia->asst.main_loop); doesn't work. + */ + ia->asst.loop_done = true; gtk_widget_hide (GTK_WIDGET (ia->asst.assistant)); }