static void
on_smtp_servers_window_hide (GtkWindow* window, gpointer user_data)
{
- ModestWindow *main_window = MODEST_WINDOW (user_data);
-
/* Save any changes. */
modest_connection_specific_smtp_window_save_server_accounts (
- MODEST_CONNECTION_SPECIFIC_SMTP_WINDOW (window),
- modest_window_get_active_account (main_window));
+ MODEST_CONNECTION_SPECIFIC_SMTP_WINDOW (window));
gtk_widget_destroy (GTK_WIDGET (window));
}
#ifdef MODEST_PLATFORM_MAEMO /* Defined in config.h */
/* Create the window if necessary: */
- const gchar *active_account_name = modest_window_get_active_account (win);
-
- /* TODO: Dim the menu item (not in the UI spec)? or show a warning,
- * or show the default account?
- * If we show the default account then the account name should be shown in
- * the window when we show it. */
- if (!active_account_name) {
- g_warning ("%s: No account is active.", __FUNCTION__);
- return;
- }
-
GtkWidget *specific_window = GTK_WIDGET (modest_connection_specific_smtp_window_new ());
modest_connection_specific_smtp_window_fill_with_connections (
MODEST_CONNECTION_SPECIFIC_SMTP_WINDOW (specific_window),
- modest_runtime_get_account_mgr(),
- active_account_name);
+ modest_runtime_get_account_mgr());
/* Show the window: */
gtk_window_set_transient_for (GTK_WINDOW (specific_window), GTK_WINDOW (win));
return;
}
- account_name = modest_account_mgr_get_default_account (modest_runtime_get_account_mgr ());
+ account_name = g_strdup (modest_window_get_active_account (win));
if (!account_name)
- account_name = g_strdup (modest_window_get_active_account (win));
+ account_name = modest_account_mgr_get_default_account (modest_runtime_get_account_mgr ());
if (!account_name) {
g_printerr ("modest: no account found\n");
goto cleanup;
goto cleanup;
}
-
+
/* Create and register edit window */
/* This is destroyed by TODO. */
msg_win = modest_msg_edit_window_new (msg, account_name, FALSE);
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:
}
static void
-open_msg_cb (ModestMailOperation *mail_op,
- TnyHeader *header,
- TnyMsg *msg,
- gpointer user_data)
+open_msg_cb (ModestMailOperation *mail_op, TnyHeader *header, TnyMsg *msg, gpointer user_data)
{
ModestWindowMgr *mgr = NULL;
ModestWindow *parent_win = NULL;
/* Do nothing if there was any problem with the mail
operation. The error will be shown by the error_handler of
the mail operation */
- if (!modest_ui_actions_msg_retrieval_check (mail_op, header, msg)) {
+ if (!modest_ui_actions_msg_retrieval_check (mail_op, header, msg))
return;
- }
parent_win = (ModestWindow *) modest_mail_operation_get_source (mail_op);
folder = tny_header_get_folder (header);
modest_tny_account_store_get_tny_account_by (modest_runtime_get_account_store (),
MODEST_TNY_ACCOUNT_STORE_QUERY_ID,
server_acc_name);
+ if (!modest_server_account) {
+ g_warning ("%s: could not get tny account\n", __FUNCTION__);
+ return;
+ }
+
+ /* Update active account, but only if it's not a pseudo-account */
+ if ((!modest_tny_account_is_virtual_local_folders(modest_server_account)) &&
+ (!modest_tny_account_is_memory_card_account(modest_server_account))) {
+ const gchar *modest_acc_name =
+ modest_tny_account_get_parent_modest_account_name_for_server_account (modest_server_account);
+ if (modest_acc_name)
+ modest_window_set_active_account (window, modest_acc_name);
+ }
- const gchar *modest_acc_name =
- modest_tny_account_get_parent_modest_account_name_for_server_account (modest_server_account);
- modest_window_set_active_account (window, modest_acc_name);
g_object_unref (modest_server_account);
}
{
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 */
if (TNY_IS_ACCOUNT (folder_store)) {
if (selected) {
- /* Update active account */
set_active_account_from_tny_account (TNY_ACCOUNT (folder_store), MODEST_WINDOW (main_window));
+
/* Show account details */
modest_main_window_set_contents_style (main_window, MODEST_MAIN_WINDOW_CONTENTS_STYLE_DETAILS);
}
MODEST_CONF_HEADER_VIEW_KEY);
} else {
/* Update the active account */
- modest_window_set_active_account (MODEST_WINDOW (main_window), NULL);
+ //modest_window_set_active_account (MODEST_WINDOW (main_window), NULL);
/* Save only if we're seeing headers */
if (modest_main_window_get_contents_style (main_window) ==
MODEST_MAIN_WINDOW_CONTENTS_STYLE_HEADERS)
}
}
-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
static void
-transfer_msgs_from_viewer_cb (const GObject *object, gpointer user_data)
+move_to_cb (const GObject *object, gpointer user_data)
{
ModestMsgViewWindow *self = NULL;
+ g_return_if_fail (GTK_IS_WIDGET (user_data));
+ g_return_if_fail (MODEST_IS_WINDOW (object));
- g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW (object));
- self = MODEST_MSG_VIEW_WINDOW (object);
-
- if (!modest_msg_view_window_select_next_message (self))
- if (!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));
+ if (MODEST_IS_MSG_VIEW_WINDOW (object)) {
+ self = MODEST_MSG_VIEW_WINDOW (object);
+
+ if (!modest_msg_view_window_select_next_message (self))
+ if (!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));
+ }
+ gtk_widget_destroy (GTK_WIDGET(user_data));
}
void
/* Transfer messages */
if (response == GTK_RESPONSE_OK) {
+ GtkWidget *inf_note;
+ inf_note = modest_platform_animation_banner (GTK_WIDGET (win), NULL,
+ _CS("ckct_nw_pasting"));
+ if (inf_note != NULL) {
+ gtk_window_set_modal (GTK_WINDOW(inf_note), FALSE);
+ gtk_widget_show (GTK_WIDGET(inf_note));
+ }
+
ModestMailOperation *mail_op =
modest_mail_operation_new_with_error_handling (MODEST_MAIL_OPERATION_TYPE_RECEIVE,
G_OBJECT(win),
headers,
TNY_FOLDER (dst_folder),
TRUE,
- (MODEST_IS_MSG_VIEW_WINDOW (win)) ? transfer_msgs_from_viewer_cb : NULL,
- NULL);
+ move_to_cb,
+ inf_note);
g_object_unref (G_OBJECT (mail_op));
}
}
if (do_xfer) {
+ GtkWidget *inf_note;
+ inf_note = modest_platform_animation_banner (GTK_WIDGET (win), NULL,
+ _CS("ckct_nw_pasting"));
+ if (inf_note != NULL) {
+ gtk_window_set_modal (GTK_WINDOW(inf_note), FALSE);
+ gtk_widget_show (GTK_WIDGET(inf_note));
+ }
/* Clean folder on header view before moving it */
sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (folder_view));
gtk_tree_selection_unselect_all (sel);
modest_mail_operation_xfer_folder (mail_op,
TNY_FOLDER (src_folder),
dst_folder,
- TRUE, NULL, NULL);
+ TRUE, move_to_cb, inf_note);
/* Unref mail operation */
g_object_unref (G_OBJECT (mail_op));
}