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
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;
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)) {
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)) {
g_free (msg);
g_object_unref (header_list);
- return;
+ return FALSE;
}
}
/* 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;
}
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);