X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-wizard-dialog.c;h=401d9228e3dd9739d07d18401a397166ab13ede6;hb=74ca950836395c6cb5060a2b7868c9879eae6232;hp=fd05755a1f1c7847c44bc2c8b7b93f18aa7723ef;hpb=9c2a37dd25558a3a70d49388b63424bc96cf2cab;p=modest diff --git a/src/widgets/modest-wizard-dialog.c b/src/widgets/modest-wizard-dialog.c index fd05755..401d922 100644 --- a/src/widgets/modest-wizard-dialog.c +++ b/src/widgets/modest-wizard-dialog.c @@ -97,7 +97,8 @@ static void make_buttons_sensitive (ModestWizardDialog *wizard_dialog, static gboolean invoke_before_next_vfunc (ModestWizardDialog *wizard_dialog); static void invoke_enable_buttons_vfunc (ModestWizardDialog *wizard_dialog); -static void invoke_save_settings_vfunc (ModestWizardDialog *wizard_dialog); +static void invoke_update_model_vfunc (ModestWizardDialog *wizard_dialog); +static gboolean invoke_save_vfunc (ModestWizardDialog *wizard_dialog); enum { PROP_ZERO, @@ -161,7 +162,8 @@ class_init (ModestWizardDialogClass *wizard_dialog_class) object_class->finalize = finalize; wizard_dialog_class->before_next = NULL; - wizard_dialog_class->save_settings = NULL; + wizard_dialog_class->update_model = NULL; + wizard_dialog_class->save = NULL; wizard_dialog_class->enable_buttons = NULL; /** @@ -281,10 +283,14 @@ init (ModestWizardDialog *wizard_dialog) priv->autotitle = TRUE; /* Build wizard layout */ - gtk_box_pack_start_defaults (GTK_BOX (dialog->vbox), GTK_WIDGET (priv->box)); - gtk_box_pack_start_defaults (GTK_BOX (priv->box), GTK_WIDGET (vbox)); - if (priv->image) - gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (priv->image), FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (dialog->vbox), GTK_WIDGET (priv->box), TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (priv->box), GTK_WIDGET (vbox), FALSE, FALSE, 0); + gtk_widget_show (vbox); + gtk_widget_show (GTK_WIDGET (priv->box)); + if (priv->image) { + gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (priv->image), TRUE, TRUE, 0); + gtk_widget_show (priv->image); + } /* Add response buttons: finish, previous, next, cancel */ #ifdef MODEST_TOOLKIT_HILDON1 @@ -308,8 +314,7 @@ init (ModestWizardDialog *wizard_dialog) /* Set initial button states: previous and finish buttons are disabled */ make_buttons_sensitive (wizard_dialog, FALSE, FALSE, TRUE); - /* Show all the internal widgets */ - gtk_widget_show_all (GTK_WIDGET (dialog->vbox)); + gtk_widget_show (GTK_WIDGET (dialog->vbox)); /* connect to dialog's response signal */ g_signal_connect (G_OBJECT (dialog), "response", @@ -430,7 +435,7 @@ set_property (GObject *object, * and remove borders) to make it look like a nice wizard widget */ gtk_notebook_set_show_tabs (priv->notebook, FALSE); gtk_notebook_set_show_border (priv->notebook, FALSE); - gtk_box_pack_start_defaults (GTK_BOX( priv->box), GTK_WIDGET (priv->notebook)); + gtk_box_pack_start (GTK_BOX( priv->box), GTK_WIDGET (priv->notebook), TRUE, TRUE, 0); /* Show the notebook so that a gtk_widget_show on the dialog is * all that is required to display the dialog correctly */ @@ -725,13 +730,26 @@ invoke_enable_buttons_vfunc (ModestWizardDialog *wizard_dialog) } static void -invoke_save_settings_vfunc (ModestWizardDialog *wizard_dialog) +invoke_update_model_vfunc (ModestWizardDialog *wizard_dialog) +{ + ModestWizardDialogClass *klass = MODEST_WIZARD_DIALOG_GET_CLASS (wizard_dialog); + + /* Call the vfunc, which may be overridden by derived classes: */ + if (klass->update_model) { + (*(klass->update_model)) (wizard_dialog); + } +} + +static gboolean +invoke_save_vfunc (ModestWizardDialog *wizard_dialog) { ModestWizardDialogClass *klass = MODEST_WIZARD_DIALOG_GET_CLASS (wizard_dialog); /* Call the vfunc, which may be overridden by derived classes: */ - if (klass->save_settings) { - (*(klass->save_settings)) (wizard_dialog); + if (klass->save) { + return (*(klass->save)) (wizard_dialog); + } else { + return TRUE; } } @@ -745,9 +763,17 @@ modest_wizard_dialog_set_response_override_handler (ModestWizardDialog *wizard_d } void -modest_wizard_dialog_save_settings (ModestWizardDialog *wizard_dialog) +modest_wizard_dialog_update_model (ModestWizardDialog *wizard_dialog) { g_return_if_fail (MODEST_IS_WIZARD_DIALOG (wizard_dialog)); - invoke_save_settings_vfunc (wizard_dialog); + invoke_update_model_vfunc (wizard_dialog); +} + +gboolean +modest_wizard_dialog_save (ModestWizardDialog *wizard_dialog) +{ + g_return_val_if_fail (MODEST_IS_WIZARD_DIALOG (wizard_dialog), FALSE); + + return invoke_save_vfunc (wizard_dialog); }