Dear all: I think this one is better, here I rearranged the codes and the words in the confirmation dialog. Please check it, thank you. Best Regards. Charles Anna Marie Dirks wrote: On Wed, 2003-09-10 at 16:58, Ettore Perazzoli wrote:Then what about these words, "Do you really want to exit Evolution Setup Assistant Program?"I don't think it's called "Evolution Setup Assistant Program" anywhere? I think Anna should just come up with the wording. :)The key information that this message needs to convey is that the work put into setting up Evolution will be lost when the assistant is exited. Please use the following: If you quit the Evolution Setup Assistant now, all of the information that you have entered will be forgotten. You will need to run this assistant again before using Evolution. Do you want to quit using the Assistant now? <Cancel> <Quit Assistant>Anyway, it is a warning or caution dialog, not for select. So I should use GTK_BUTTONS_OK_CANCEL but not GTK_BUTTONS_YES_NO here, do you think so?Actually, it should maybe be "Quit" / "Don't Quit" as per the HIG?The section of the HIG that you are thinking of is found here: http://developer.gnome.org/projects/gup/hig/1.0/windows.html#alert-button-order and reads:Button Phrasing. Write button labels as imperative verbs, for example Save, Print. This allows users to select an action with less hesitation. An active phrase also fits best with the button's role in initiating actions, as contrasted with a more passive phrase. For example Find and Log In are better buttons than than Yes and OK. Affirmative Button. Place the affirmative button in the lower right corner of the alert. The affirmative button accepts the action proposed by the alert, or simply dismisses the alert if no action is suggested (as is the case with an information alert). Cancel Button. If the alert was produced in response to a user action, place a Cancel button immediately to the left of the affirmative button. This provides an escape route for users to stop an action in response to new information, or just if they clicked accidentally. Clicking the Cancel button reverts the application to its state prior to the user action.Does that make sense to you guys? Thanks. |
Index: shell/e-shell-startup-wizard.c =================================================================== RCS file: /cvs/gnome/evolution/shell/e-shell-startup-wizard.c,v retrieving revision 1.41.4.2 diff -u -p -r1.41.4.2 e-shell-startup-wizard.c --- shell/e-shell-startup-wizard.c 22 Jul 2003 09:29:30 -0000 1.41.4.2 +++ shell/e-shell-startup-wizard.c 11 Sep 2003 11:14:45 -0000 @@ -758,6 +758,40 @@ startup_wizard_delete (GnomeDruid *druid return FALSE; } +static gboolean +key_press_event_callback (GtkWidget *widget, + GdkEventKey *keyev, + SWData *data) +{ + if (keyev->keyval == GDK_Escape) { + GtkWidget *confirm_dialog; + gint returnvalue; + gchar *confirmations; + + confirmations = "If you quit the Evolution Setup Assistant now, all of the information that " + "you have entered will be forgotten. You will need to run this assistant again " + "before using Evolution.\n\nDo you want to quit using the Assistant now?"; + + confirm_dialog = gtk_message_dialog_new (data->dialog, + GTK_DIALOG_MODAL, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_NONE, + confirmations); + + gtk_dialog_add_button (confirm_dialog, (gchar *)("Cancel"), GTK_RESPONSE_CANCEL); + gtk_dialog_add_button (confirm_dialog, (gchar *)("Quit Assistant"), GTK_RESPONSE_OK); + + returnvalue = gtk_dialog_run ((GtkDialog *) confirm_dialog); + gtk_widget_destroy (confirm_dialog); + + if (returnvalue == GTK_RESPONSE_OK) { + startup_wizard_cancel (data->druid, data); + return TRUE; + } + } + return FALSE; +} + gboolean e_shell_startup_wizard_create (void) { @@ -798,6 +832,9 @@ e_shell_startup_wizard_create (void) g_signal_connect (data->druid, "cancel", G_CALLBACK (startup_wizard_cancel), data); + g_signal_connect (data->dialog, "key_press_event", + G_CALLBACK (key_press_event_callback), data); + data->start = glade_xml_get_widget (data->wizard, "start-page"); data->finish = glade_xml_get_widget (data->wizard, "done-page"); g_return_val_if_fail (data->start != NULL, FALSE); Index: shell/ChangeLog =================================================================== RCS file: /cvs/gnome/evolution/shell/ChangeLog,v retrieving revision 1.1286.2.6 diff -u -p -r1.1286.2.6 ChangeLog --- shell/ChangeLog 30 Jul 2003 13:57:14 -0000 1.1286.2.6 +++ shell/ChangeLog 11 Sep 2003 11:14:45 -0000 @@ -19,6 +19,12 @@ * e-shell-startup-wizard.c (e_shell_startup_wizard_create): connect to "delete_event" signal with startup_wizard_delete. [#46284] +2003-09-11 Charles Zhang <charles zhang sun com> + + * e-shell-startup-wizard.c (e_shell_startup_wizard_create): connect + to "key_press_event" signal with key_press_event_callback. + (key_press_event): Handle `ESC` key press event. [#48145] + 2003-07-10 Antonio Xu <antonio xu sun com> * e-shell-importer.c: (show_import_wizard): use