2007-07-09 Murray Cumming <murrayc@murrayc.com>
+ * 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 <murrayc@murrayc.com>
+
* 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.
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);
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);
}
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,
*/
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