From: Sergio Villar SenĂ­n Date: Fri, 8 May 2009 16:12:50 +0000 (+0200) Subject: Fixes NB#115325, show error note when trying to create a folder under outbox folder X-Git-Tag: 3.0.17-rc4~16 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=4f7bab9e1c193fff703bc6480b5c8ee24f34b898 Fixes NB#115325, show error note when trying to create a folder under outbox folder --- diff --git a/src/hildon2/modest-platform.c b/src/hildon2/modest-platform.c index dea33a8..de71edf 100644 --- a/src/hildon2/modest-platform.c +++ b/src/hildon2/modest-platform.c @@ -645,7 +645,8 @@ on_response (GtkDialog *dialog, parent = g_object_get_data (G_OBJECT (picker), FOLDER_PICKER_CURRENT_FOLDER); /* Look for another folder with the same name */ - if (modest_tny_folder_has_subfolder_with_name (parent, new_name, TRUE)) + if (!TNY_IS_MERGE_FOLDER (parent) && + modest_tny_folder_has_subfolder_with_name (parent, new_name, TRUE)) exists = TRUE; if (!exists) { @@ -893,15 +894,17 @@ folder_picker_clicked (GtkButton *button, store = folder_chooser_dialog_run (helper->folder_view); if (store) { const gchar *current_name; - gboolean exists; + gboolean exists = FALSE; folder_picker_set_store (GTK_BUTTON (button), store); /* Update the name of the folder */ current_name = gtk_entry_get_text (helper->entry); - exists = modest_tny_folder_has_subfolder_with_name (store, - current_name, - TRUE); + + if (TNY_IS_FOLDER_STORE (store)) + exists = modest_tny_folder_has_subfolder_with_name (store, + current_name, + TRUE); if (exists) { gchar *new_name = get_next_folder_name (NULL, store); gtk_entry_set_text (helper->entry, new_name); diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index b191daa..20cff0a 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -46,6 +46,7 @@ #include "modest-platform.h" #include "modest-debug.h" #include +#include #include #include #include @@ -3361,6 +3362,19 @@ do_create_folder_performer (gboolean canceled, if (canceled || err) { /* In memory full conditions we could get this error here */ check_memory_full_error ((GtkWidget *) parent_window, err); + + /* This happens if we have selected the outbox folder + as the parent */ + if (err->code == TNY_SERVICE_ERROR_UNKNOWN && + TNY_IS_MERGE_FOLDER (helper->parent)) { + /* Show an error and retry */ + modest_platform_information_banner ((GtkWidget *) parent_window, + NULL, + _("mail_in_ui_folder_create_error")); + + do_create_folder (parent_window, helper->parent, helper->folder_name); + } + goto frees; }