X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-connection-specific-smtp-edit-window.c;h=a3aa05b4f024cac613c685afc172e539c6c16fa1;hb=79dfe2ce5c81ff2850c22a1731e3c8de909e27af;hp=350dbafe42b5c7c4cac61d5ec07c504e8a38144f;hpb=a03ddeba13103ebf58cc2ad18423383f7e9d4806;p=modest diff --git a/src/maemo/modest-connection-specific-smtp-edit-window.c b/src/maemo/modest-connection-specific-smtp-edit-window.c index 350dbaf..a3aa05b 100644 --- a/src/maemo/modest-connection-specific-smtp-edit-window.c +++ b/src/maemo/modest-connection-specific-smtp-edit-window.c @@ -52,6 +52,10 @@ G_DEFINE_TYPE (ModestConnectionSpecificSmtpEditWindow, modest_connection_specifi #define CONNECTION_SPECIFIC_SMTP_EDIT_WINDOW_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), MODEST_TYPE_CONNECTION_SPECIFIC_SMTP_EDIT_WINDOW, ModestConnectionSpecificSmtpEditWindowPrivate)) +static void on_response (GtkDialog *dialog, + gint arg1, + gpointer user_data); + typedef struct _ModestConnectionSpecificSmtpEditWindowPrivate ModestConnectionSpecificSmtpEditWindowPrivate; struct _ModestConnectionSpecificSmtpEditWindowPrivate @@ -227,8 +231,16 @@ on_response (GtkDialog *dialog, int response_id, gpointer user_data) gtk_editable_select_region (GTK_EDITABLE (priv->entry_outgoingserver), 0, -1); return; } + } else { + /* Ask user if they want to discard changes */ + if (priv->is_dirty) { + gint response; + response = modest_platform_run_confirmation_dialog (GTK_WINDOW (user_data), + _("imum_nc_wizard_confirm_lose_changes")); + if (response == GTK_RESPONSE_CANCEL) + g_signal_stop_emission_by_name (dialog, "response"); + } } - } static void on_set_focus_child (GtkContainer *container, GtkWidget *widget, gpointer user_data) @@ -270,6 +282,9 @@ modest_connection_specific_smtp_edit_window_init (ModestConnectionSpecificSmtpEd GtkWidget *dialog_box; GtkWidget *scrolled_window, *vbox; + /* The title of this dialog is quite long, so make the window wide enough */ + gtk_widget_set_size_request (GTK_WIDGET (self), 600, -1); + priv = CONNECTION_SPECIFIC_SMTP_EDIT_WINDOW_GET_PRIVATE (self); dialog_box = GTK_DIALOG(self)->vbox; /* gtk_vbox_new (FALSE, MODEST_MARGIN_HALF); */ gtk_box_set_spacing (GTK_BOX (dialog_box), MODEST_MARGIN_NONE); @@ -500,8 +515,8 @@ modest_connection_specific_smtp_edit_window_get_settings (ModestConnectionSpecif return server_settings; } -gboolean modest_connection_specific_smtp_edit_window_is_dirty( - ModestConnectionSpecificSmtpEditWindow *window) +gboolean +modest_connection_specific_smtp_edit_window_is_dirty(ModestConnectionSpecificSmtpEditWindow *window) { ModestConnectionSpecificSmtpEditWindowPrivate *priv = CONNECTION_SPECIFIC_SMTP_EDIT_WINDOW_GET_PRIVATE (window);