modest_ui_actions_refresh_message_window_after_delete (ModestMsgViewWindow* win)
{
/* Close msg view window or select next */
- if (modest_msg_view_window_last_message_selected (win) &&
- modest_msg_view_window_first_message_selected (win)) {
- modest_ui_actions_on_close_window (NULL, MODEST_WINDOW (win));
- } else if (!modest_msg_view_window_select_next_message (win) &&
- !modest_msg_view_window_select_previous_message (win)) {
+ if (!modest_msg_view_window_select_next_message (win) &&
+ !modest_msg_view_window_select_previous_message (win)) {
gboolean ret_value;
g_signal_emit_by_name (G_OBJECT (win), "delete-event", NULL, &ret_value);
}
GtkTextBuffer *buffer;
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (focused_widget));
- gtk_text_buffer_cut_clipboard (buffer, clipboard, TRUE);
- gtk_clipboard_set_can_store (clipboard, NULL, 0);
- gtk_clipboard_store (clipboard);
+ if (modest_text_utils_buffer_selection_is_valid (buffer)) {
+ gtk_text_buffer_cut_clipboard (buffer, clipboard, TRUE);
+ gtk_clipboard_set_can_store (clipboard, NULL, 0);
+ gtk_clipboard_store (clipboard);
+ }
} else if (MODEST_IS_HEADER_VIEW (focused_widget)) {
TnyList *header_list = modest_header_view_get_selected_headers (
MODEST_HEADER_VIEW (focused_widget));
} else if (GTK_IS_TEXT_VIEW (focused_widget)) {
GtkTextBuffer *buffer;
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (focused_widget));
- gtk_text_buffer_copy_clipboard (buffer, clipboard);
- gtk_clipboard_set_can_store (clipboard, NULL, 0);
- gtk_clipboard_store (clipboard);
+ if (modest_text_utils_buffer_selection_is_valid (buffer)) {
+ gtk_text_buffer_copy_clipboard (buffer, clipboard);
+ gtk_clipboard_set_can_store (clipboard, NULL, 0);
+ gtk_clipboard_store (clipboard);
+ }
} else if (MODEST_IS_HEADER_VIEW (focused_widget)) {
TnyList *header_list = modest_header_view_get_selected_headers (
MODEST_HEADER_VIEW (focused_widget));
GtkWidget *folder_view = NULL;
ModestTnyFolderRules rules;
+ g_return_if_fail (MODEST_IS_FOLDER_VIEW(self));
+
if (!selected)
return;
-
+
/* Get the OK button */
dialog = gtk_widget_get_ancestor (GTK_WIDGET (self), GTK_TYPE_DIALOG);
if (!dialog)
}
g_object_unref (moved_folder);
} else {
- TnyHeader *header = NULL;
TnyFolder *src_folder = NULL;
/* Moving a message */
if (MODEST_IS_MSG_VIEW_WINDOW (user_data)) {
- header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (user_data));
- src_folder = tny_header_get_folder (header);
- g_object_unref (header);
+
+ TnyHeader *header = NULL;
+ header = modest_msg_view_window_get_header
+ (MODEST_MSG_VIEW_WINDOW (user_data));
+ if (!TNY_IS_HEADER(header))
+ g_warning ("%s: could not get source header", __FUNCTION__);
+ else
+ src_folder = tny_header_get_folder (header);
+
+ if (header)
+ g_object_unref (header);
} else {
src_folder =
- TNY_FOLDER (modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view)));
+ TNY_FOLDER (modest_folder_view_get_selected
+ (MODEST_FOLDER_VIEW (folder_view)));
}
- /* Do not allow to move the msg to the same folder */
- /* Do not allow to move the msg to an account */
- if ((gpointer) src_folder == (gpointer) folder_store ||
- TNY_IS_ACCOUNT (folder_store))
- ok_sensitive = FALSE;
- g_object_unref (src_folder);
+ if (TNY_IS_FOLDER(src_folder)) {
+ /* Do not allow to move the msg to the same folder */
+ /* Do not allow to move the msg to an account */
+ if ((gpointer) src_folder == (gpointer) folder_store ||
+ TNY_IS_ACCOUNT (folder_store))
+ ok_sensitive = FALSE;
+ g_object_unref (src_folder);
+ } else
+ g_warning ("%s: could not get source folder", __FUNCTION__);
}
end:
if (MODEST_IS_MSG_VIEW_WINDOW (object)) {
ModestMsgViewWindow *self = MODEST_MSG_VIEW_WINDOW (object);
- if (modest_msg_view_window_last_message_selected (self) &&
- modest_msg_view_window_first_message_selected (self)) {
- modest_ui_actions_on_close_window (NULL, MODEST_WINDOW (self));
- } else if (!modest_msg_view_window_select_next_message (self) &&
- !modest_msg_view_window_select_previous_message (self)) {
+ if (!modest_msg_view_window_select_next_message (self) &&
+ !modest_msg_view_window_select_previous_message (self)) {
/* No more messages to view, so close this window */
modest_ui_actions_on_close_window (NULL, MODEST_WINDOW(self));
}