If we cancel delete confirmation dialog we go back to the edit mode.
authorJose Dapena Paz <jdapena@igalia.com>
Wed, 10 Dec 2008 17:02:15 +0000 (17:02 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Wed, 10 Dec 2008 17:02:15 +0000 (17:02 +0000)
pmo-drop-split-view-r6750

src/hildon2/modest-header-window.c
src/modest-ui-actions.c
src/modest-ui-actions.h

index 90ae810..ea05de9 100644 (file)
@@ -758,15 +758,16 @@ edit_toolbar_button_clicked (HildonEditToolbar *toolbar,
 
        switch (priv->edit_command) {
        case EDIT_MODE_COMMAND_DELETE:
-               modest_ui_actions_on_delete_message (NULL, MODEST_WINDOW (self));
+               if (modest_ui_actions_on_edit_mode_delete_message (MODEST_WINDOW (self)))
+                       set_edit_mode (self, EDIT_MODE_COMMAND_NONE);
                break;
        case EDIT_MODE_COMMAND_MOVE:
                modest_ui_actions_on_move_to (NULL, MODEST_WINDOW (self));
+               set_edit_mode (self, EDIT_MODE_COMMAND_NONE);
                break;
        case EDIT_MODE_COMMAND_NONE:
                        g_assert_not_reached ();
        }
-       set_edit_mode (self, EDIT_MODE_COMMAND_NONE);
 }
 
 static void
index 1f292f5..14dd6f4 100644 (file)
@@ -384,6 +384,12 @@ modest_ui_actions_refresh_message_window_after_delete (ModestMsgViewWindow* win)
 void
 modest_ui_actions_on_delete_message (GtkAction *action, ModestWindow *win)
 {
+       modest_ui_actions_on_edit_mode_delete_message (win);
+}
+
+gboolean
+modest_ui_actions_on_edit_mode_delete_message (ModestWindow *win)
+{
        TnyList *header_list = NULL;
        TnyIterator *iter = NULL;
        TnyHeader *header = NULL;
@@ -392,8 +398,9 @@ modest_ui_actions_on_delete_message (GtkAction *action, ModestWindow *win)
        gint response;
        ModestWindowMgr *mgr;
        GtkWidget *header_view = NULL;
+       gboolean retval = TRUE;
 
-       g_return_if_fail (MODEST_IS_WINDOW(win));
+       g_return_val_if_fail (MODEST_IS_WINDOW(win), FALSE);
        
        /* Check first if the header view has the focus */
        if (MODEST_IS_MAIN_WINDOW (win)) {
@@ -401,13 +408,13 @@ modest_ui_actions_on_delete_message (GtkAction *action, ModestWindow *win)
                        modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (win),
                                                             MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW);
                if (!gtk_widget_is_focus (header_view))
-                       return;
+                       return FALSE;
        }
        
        /* Get the headers, either from the header view (if win is the main window),
         * or from the message view window: */
        header_list = get_selected_headers (win);
-       if (!header_list) return;
+       if (!header_list) return FALSE;
                        
        /* Check if any of the headers are already opened, or in the process of being opened */
        if (MODEST_IS_MAIN_WINDOW (win)) {
@@ -436,7 +443,7 @@ modest_ui_actions_on_delete_message (GtkAction *action, ModestWindow *win)
                        
                        g_free (msg);
                        g_object_unref (header_list);
-                       return;
+                       return FALSE;
                }
        }
 
@@ -549,12 +556,17 @@ modest_ui_actions_on_delete_message (GtkAction *action, ModestWindow *win)
                /* Free */
                g_list_foreach (sel_list, (GFunc) gtk_tree_path_free, NULL);
                g_list_free (sel_list);
+               retval = TRUE;
+       } else {
+               retval = FALSE;
        }
 
        /* Free*/
        g_free(message);
        g_free(desc);
        g_object_unref (header_list);
+
+       return retval;
 }
 
 
index 645663a..bc9924d 100644 (file)
@@ -46,6 +46,8 @@ void     modest_ui_actions_refresh_message_window_after_delete (ModestMsgViewWin
 
 void     modest_ui_actions_on_delete_message     (GtkAction *action, ModestWindow *win);
 
+gboolean modest_ui_actions_on_edit_mode_delete_message (ModestWindow *win);
+
 void     modest_ui_actions_on_delete_message_or_folder (GtkAction *action, ModestWindow *win);
 
 void     modest_ui_actions_on_quit          (GtkAction *action, ModestWindow *win);