ModestMailOperationState *state,
gpointer user_data);
-static gint header_list_count_uncached_msgs (
- TnyList *header_list,
- GtkWindow *win);
+static gint header_list_count_uncached_msgs (TnyList *header_list);
static gboolean connect_to_get_msg (
GtkWindow *win,
gint num_of_uncached_msgs);
GtkTreeModel *model = NULL;
GtkTreeSelection *sel = NULL;
GList *sel_list = NULL, *tmp = NULL;
- GtkTreeRowReference *row_reference = NULL;
+ GtkTreeRowReference *next_row_reference = NULL;
+ GtkTreeRowReference *prev_row_reference = NULL;
GtkTreePath *next_path = NULL;
+ GtkTreePath *prev_path = NULL;
GError *err = NULL;
/* Find last selected row */
sel_list = gtk_tree_selection_get_selected_rows (sel, &model);
for (tmp=sel_list; tmp; tmp=tmp->next) {
if (tmp->next == NULL) {
+ prev_path = gtk_tree_path_copy((GtkTreePath *) tmp->data);
next_path = gtk_tree_path_copy((GtkTreePath *) tmp->data);
+
+ gtk_tree_path_prev (prev_path);
gtk_tree_path_next (next_path);
- row_reference = gtk_tree_row_reference_new (model, next_path);
- gtk_tree_path_free (next_path);
+
+ prev_row_reference = gtk_tree_row_reference_new (model, prev_path);
+ next_row_reference = gtk_tree_row_reference_new (model, next_path);
}
}
}
modest_window_disable_dimming (MODEST_WINDOW(win));
/* Remove each header. If it's a view window header_view == NULL */
-/* do_headers_action (win, headers_action_delete, header_view); */
modest_do_messages_delete (header_list, win);
-
/* Enable window dimming management */
gtk_tree_selection_unselect_all (sel);
modest_window_enable_dimming (MODEST_WINDOW(win));
-
- /* FIXME: May be folder_monitor will also refilter treemode on EXPUNGE changes ? */
- /* refresh the header view (removing marked-as-deleted) */
-/* modest_header_view_refilter (MODEST_HEADER_VIEW(header_view)); */
if (MODEST_IS_MSG_VIEW_WINDOW (win)) {
modest_ui_actions_refresh_message_window_after_delete (MODEST_MSG_VIEW_WINDOW (win));
/* Move cursor to next row */
main_window = win;
- /* Select next row */
- if (gtk_tree_row_reference_valid (row_reference)) {
- next_path = gtk_tree_row_reference_get_path (row_reference);
+ /* Select next or previous row */
+ if (gtk_tree_row_reference_valid (next_row_reference)) {
+/* next_path = gtk_tree_row_reference_get_path (row_reference); */
gtk_tree_selection_select_path (sel, next_path);
- gtk_tree_path_free (next_path);
}
- if (row_reference != NULL)
- gtk_tree_row_reference_free (row_reference);
+ else if (gtk_tree_row_reference_valid (prev_row_reference)) {
+ gtk_tree_selection_select_path (sel, prev_path);
+ }
+
+ /* Free */
+ if (next_row_reference != NULL)
+ gtk_tree_row_reference_free (next_row_reference);
+ if (next_path != NULL)
+ gtk_tree_path_free (next_path);
+ if (prev_row_reference != NULL)
+ gtk_tree_row_reference_free (prev_row_reference);
+ if (prev_path != NULL)
+ gtk_tree_path_free (prev_path);
}
if (err != NULL) {
void
modest_ui_actions_on_quit (GtkAction *action, ModestWindow *win)
-{
+{
+ ModestWindowMgr *mgr = NULL;
+
#ifdef MODEST_PLATFORM_MAEMO
modest_osso_save_state();
#endif /* MODEST_PLATFORM_MAEMO */
g_debug ("queue has been cleared");
+
+ /* Check if there are opened editing windows */
+ mgr = modest_runtime_get_window_mgr ();
+ modest_window_mgr_close_all_windows (mgr);
+
/* note: when modest-tny-account-store is finalized,
it will automatically set all network connections
to offline */
- gtk_main_quit ();
+/* gtk_main_quit (); */
}
void
if (win)
gtk_window_set_transient_for (GTK_WINDOW (msg_win),
- GTK_WINDOW (win));
+ GTK_WINDOW (win));
gtk_widget_show_all (GTK_WIDGET (msg_win));
cleanup:
goto cleanup;
}
win = modest_msg_edit_window_new (msg, account, TRUE);
-
+
+
+ /* Show banner */
+ modest_platform_information_banner (NULL, NULL, _("mail_ib_opening_draft_message"));
+
} else {
gchar *uid = modest_tny_folder_get_header_unique_id (header);
* downloaded (CACHED) then returns TRUE else returns FALSE.
*/
static gint
-header_list_count_uncached_msgs (
- TnyList *header_list,
- GtkWindow *win)
+header_list_count_uncached_msgs (TnyList *header_list)
{
TnyIterator *iter;
gint uncached_messages = 0;
if (do_retrieve){
gint num_of_unc_msgs;
/* check that the messages have been previously downloaded */
- num_of_unc_msgs = header_list_count_uncached_msgs(
- header_list,
- GTK_WINDOW (win));
+ num_of_unc_msgs = header_list_count_uncached_msgs(header_list);
/* If there are any uncached message ask the user
* whether he/she wants to download them. */
if (num_of_unc_msgs)
{
ModestMainWindow *win = NULL;
GtkWidget *header_view;
- TnyFolder *current_folder;
gboolean folder_empty = FALSE;
gboolean all_marked_as_deleted = FALSE;
modest_main_window_get_child_widget(win, MODEST_WIDGET_TYPE_HEADER_VIEW);
if (header_view) {
+ TnyFolder *current_folder;
+
current_folder = modest_header_view_get_folder (MODEST_HEADER_VIEW (header_view));
if (current_folder != NULL && folder != current_folder) {
+ g_object_unref (current_folder);
return;
}
+ g_object_unref (current_folder);
}
/* Check if folder is empty and set headers view contents style */
gboolean continue_download = FALSE;
gint num_of_unc_msgs;
- num_of_unc_msgs = header_list_count_uncached_msgs(
- header_list, GTK_WINDOW (window));
+ num_of_unc_msgs = header_list_count_uncached_msgs(header_list);
if (num_of_unc_msgs)
continue_download = connect_to_get_msg(
gboolean continue_download = FALSE;
gint num_of_unc_msgs;
- num_of_unc_msgs = header_list_count_uncached_msgs(
- header_list,
- GTK_WINDOW (window));
+ num_of_unc_msgs = header_list_count_uncached_msgs(header_list);
if (num_of_unc_msgs)
continue_download = connect_to_get_msg(
}
}
-void modest_ui_actions_msg_edit_on_change_priority (GtkRadioAction *action,
- GtkRadioAction *selected,
- ModestWindow *window)
+void
+modest_ui_actions_msg_edit_on_change_priority (GtkRadioAction *action,
+ GtkRadioAction *selected,
+ ModestWindow *window)
{
TnyHeaderFlags flags;
g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window));
modest_msg_edit_window_set_priority_flags (MODEST_MSG_EDIT_WINDOW (window), flags);
}
-void modest_ui_actions_msg_edit_on_change_file_format (GtkRadioAction *action,
- GtkRadioAction *selected,
- ModestWindow *window)
+void
+modest_ui_actions_msg_edit_on_change_file_format (GtkRadioAction *action,
+ GtkRadioAction *selected,
+ ModestWindow *window)
{
gint file_format;
/* Toggle toolbar */
mgr = modest_runtime_get_window_mgr ();
- modest_window_mgr_show_toolbars (mgr, active, fullscreen);
+ modest_window_mgr_show_toolbars (mgr, G_TYPE_FROM_INSTANCE (window), active, fullscreen);
}
void