From: Murray Cumming Date: Mon, 9 Jul 2007 08:28:11 +0000 (+0000) Subject: 2007-07-09 Murray Cumming X-Git-Tag: git_migration_finished~2901 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=dfb4c6caa8826c70b263e4974e4b293ab87f2017 2007-07-09 Murray Cumming * src/modest-account-mgr-helpers.h: * src/modest-account-mgr-helpers.c: Added modest_account_mgr_get_store_protocol(). * src/maemo/modest-account-view-window.c: (on_delete_button_clicked): Show different warning text depending on the protocol (IMAP or POP) as per the UI spec. Use a HildonNote instead of a GtkDialog, which fixes the truncation, fixing projects.maemo.org bug NB#59037. pmo-trunk-r2637 --- diff --git a/ChangeLog2 b/ChangeLog2 index 1898545..9ed41e5 100644 --- a/ChangeLog2 +++ b/ChangeLog2 @@ -1,5 +1,17 @@ 2007-07-09 Murray Cumming + * src/modest-account-mgr-helpers.h: + * src/modest-account-mgr-helpers.c: + Added modest_account_mgr_get_store_protocol(). + + * src/maemo/modest-account-view-window.c: + (on_delete_button_clicked): Show different warning text depending on + the protocol (IMAP or POP) as per the UI spec. Use a HildonNote instead + of a GtkDialog, which fixes the truncation, fixing projects.maemo.org bug + NB#59037. + +2007-07-09 Murray Cumming + * src/maemo/modest-msg-edit-window.c: (modest_msg_edit_window_attach_file): Set the file chooser dialog title as per the UI spec. This fixes proejcts.maemo.org bug NB#59056. diff --git a/src/maemo/modest-account-view-window.c b/src/maemo/modest-account-view-window.c index 1335c05..6828ac4 100644 --- a/src/maemo/modest-account-view-window.c +++ b/src/maemo/modest-account-view-window.c @@ -160,31 +160,29 @@ on_delete_button_clicked (GtkWidget *button, ModestAccountViewWindow *self) if(!account_name) return; - gchar *account_title = modest_account_mgr_get_display_name(account_mgr, account_name); - if (account_name) { - gboolean removed; - GtkWidget *dialog; - gchar *txt; + gchar *account_title = modest_account_mgr_get_display_name(account_mgr, account_name); + + /* The warning text depends on the account type: */ + gchar *txt = NULL; + if (modest_account_mgr_get_store_protocol (account_mgr, account_name) + == MODEST_PROTOCOL_STORE_POP) { + txt = g_strdup_printf (_("emev_nc_delete_mailbox"), + account_title); + } else { + txt = g_strdup_printf (_("emev_nc_delete_mailboximap"), + account_title); + } - dialog = gtk_dialog_new_with_buttons (_("Confirmation dialog"), - GTK_WINDOW (self), - GTK_DIALOG_MODAL, - GTK_STOCK_OK, - GTK_RESPONSE_ACCEPT, - GTK_STOCK_CANCEL, - GTK_RESPONSE_REJECT, - NULL); - txt = g_strdup_printf (_("emev_nc_delete_mailboximap"), - account_title); - gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), - gtk_label_new (txt), FALSE, FALSE, 0); - gtk_widget_show_all (GTK_WIDGET(GTK_DIALOG(dialog)->vbox)); + GtkDialog *dialog = GTK_DIALOG (hildon_note_new_confirmation (GTK_WINDOW (self), + txt)); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (self)); g_free (txt); + txt = NULL; - if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { - /* Remove account. If succeeded it removes also - the account from the ModestAccountView */ + if (gtk_dialog_run (dialog) == GTK_RESPONSE_OK) { + /* Remove account. If it succeeds then it also removes + the account from the ModestAccountView: */ gboolean is_default = FALSE; gchar *default_account_name = modest_account_mgr_get_default_account (account_mgr); @@ -192,17 +190,14 @@ on_delete_button_clicked (GtkWidget *button, ModestAccountViewWindow *self) is_default = TRUE; g_free (default_account_name); - removed = modest_account_mgr_remove_account (account_mgr, + gboolean removed = modest_account_mgr_remove_account (account_mgr, account_name, FALSE); - - if (removed) { - /* Show confirmation dialog ??? */ - } else { - /* Show error dialog ??? */ + if (!removed) { + g_warning ("%s: modest_account_mgr_remove_account() failed.\n", __FUNCTION__); } } - gtk_widget_destroy (dialog); + gtk_widget_destroy (GTK_WIDGET (dialog)); g_free (account_title); g_free (account_name); } diff --git a/src/modest-account-mgr-helpers.c b/src/modest-account-mgr-helpers.c index 441dbff..96f5556 100644 --- a/src/modest-account-mgr-helpers.c +++ b/src/modest-account-mgr-helpers.c @@ -75,7 +75,27 @@ gchar* modest_account_mgr_get_signature (ModestAccountMgr *self, const gchar* na return modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_SIGNATURE, FALSE); } + + +ModestTransportStoreProtocol modest_account_mgr_get_store_protocol (ModestAccountMgr *self, const gchar* name) +{ + ModestTransportStoreProtocol result = MODEST_PROTOCOL_STORE_POP; /* Arbitrary default */ + + gchar *server_account_name = modest_account_mgr_get_string (self, name, + MODEST_ACCOUNT_STORE_ACCOUNT, + FALSE); + if (server_account_name) { + ModestServerAccountData* server_data = + modest_account_mgr_get_server_account_data (self, server_account_name); + result = server_data->proto; + + modest_account_mgr_free_server_account_data (self, server_data); + + g_free (server_account_name); + } + return result; +} gboolean modest_account_mgr_set_connection_specific_smtp (ModestAccountMgr *self, const gchar* account_name, diff --git a/src/modest-account-mgr-helpers.h b/src/modest-account-mgr-helpers.h index b09818e..269fe14 100644 --- a/src/modest-account-mgr-helpers.h +++ b/src/modest-account-mgr-helpers.h @@ -199,6 +199,17 @@ gboolean modest_account_mgr_set_signature (ModestAccountMgr *self, const gchar* */ gchar* modest_account_mgr_get_signature (ModestAccountMgr *self, const gchar* name, gboolean* use_signature); + +/** + * modest_account_mgr_get_store_protocol: + * @self: a ModestAccountMgr instance + * @name: the account name + * + * Gets the protocol type (For instance, POP or IMAP) used for the store server account. + * + * Returns: The protocol type. + */ +ModestTransportStoreProtocol modest_account_mgr_get_store_protocol (ModestAccountMgr *self, const gchar* name); /** * modest_account_mgr_set_connection_specific_smtp