* Add a new dimming rule to prevetn move messages
authorJavier Fernandez Garcia-Boente <jfernandez@igalia.com>
Sun, 1 Jul 2007 18:17:58 +0000 (18:17 +0000)
committerJavier Fernandez Garcia-Boente <jfernandez@igalia.com>
Sun, 1 Jul 2007 18:17:58 +0000 (18:17 +0000)
which are already opened in a viewer.
* Fixes: NB#58799

pmo-trunk-r2518

src/modest-ui-actions.c
src/modest-ui-dimming-rules.c

index 385913f..4d1cd29 100644 (file)
@@ -1930,10 +1930,19 @@ modest_ui_actions_rename_folder_error_handler (ModestMailOperation *mail_op,
                                               gpointer user_data)
 {
        GObject *win = modest_mail_operation_get_source (mail_op);
-
-       /* TODO: what should we do in case of this error ? */
-       g_warning ("Invalid folder name");
-
+       const GError *error = NULL;
+       const gchar *message = NULL;
+       
+       /* Get error message */
+       error = modest_mail_operation_get_error (mail_op);
+       if (error != NULL && error->message != NULL) {
+               message = error->message;
+       } else {
+               message = _("!!! FIXME: Unable to rename");
+       }
+       
+       /* Show notification dialog */
+       modest_platform_run_information_dialog ((win) ? GTK_WINDOW (win) : NULL, message);
        g_object_unref (win);
 }
 
index eb8d71d..cdc6e44 100644 (file)
@@ -612,6 +612,7 @@ modest_ui_dimming_rules_on_main_window_move_to (ModestWindow *win, gpointer user
        GtkWidget *folder_view = NULL;
        GtkWidget *header_view = NULL;
        ModestDimmingRule *rule = NULL;
+       guint n_messages = 0;
        gboolean dimmed = FALSE;
        
        g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), TRUE);
@@ -628,6 +629,14 @@ modest_ui_dimming_rules_on_main_window_move_to (ModestWindow *win, gpointer user
        
        /* Check diming rules for folders and messages transfer  */
        if (!dimmed) {
+               dimmed = _already_opened_msg (win, &n_messages);
+               if (dimmed) {
+                       gchar *message = g_strdup_printf(_("emev_bd_unabletomove_items"), n_messages);
+                       modest_dimming_rule_set_notification (rule, message);
+                       g_free(message);
+               }
+       }
+       if (!dimmed) {
                if (!gtk_widget_is_focus (folder_view))
                        dimmed = _invalid_msg_selected (MODEST_MAIN_WINDOW(win), FALSE, user_data);