*is_draft = TRUE; /* Open in editor if the message is in the Drafts folder */
}
+ if (!account) {
+ TnyAccount *acc = tny_folder_get_account (folder);
+ if (acc) {
+ account =
+ g_strdup (modest_tny_account_get_parent_modest_account_name_for_server_account (acc));
+ g_object_unref (acc);
+ }
+ }
+
g_object_unref (folder);
return account;
account = tny_folder_get_account (folder);
g_object_unref (folder);
}
-
return account;
}
gchar *error_msg;
ModestProtocolType proto;
TnyConnectionStatus status;
- gboolean show_open_draft = FALSE;
OpenMsgHelper *helper = NULL;
ModestProtocol *protocol;
ModestProtocolRegistry *protocol_registry;
error_msg = g_strdup (_("mail_ni_ui_folder_get_msg_folder_error"));
}
+#ifndef MODEST_TOOLKIT_HILDON2
+ gboolean show_open_draft = FALSE;
if (modest_protocol_registry_protocol_type_has_tag (protocol_registry,
proto,
MODEST_PROTOCOL_REGISTRY_LOCAL_STORE_PROTOCOLS)) {
show_open_draft = (folder_type == TNY_FOLDER_TYPE_DRAFTS);
g_object_unref (folder);
}
+#endif
#ifdef MODEST_TOOLKIT_HILDON2
gboolean is_draft;
modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (),
mail_op);
+
+#ifndef MODEST_TOOLKIT_HILDON2
if (show_open_draft) {
helper->banner_info = g_slice_new (OpenMsgBannerInfo);
-#ifdef MODEST_TOOLKIT_HILDON2
- helper->banner_info->message = g_strdup (_("mail_me_opening"));
-#else
helper->banner_info->message = g_strdup (_("mail_ib_opening_draft_message"));
-#endif
helper->banner_info->banner = NULL;
helper->banner_info->idle_handler = g_timeout_add (500, open_msg_banner_idle,
helper->banner_info);
}
+#endif
+
TnyList *headers;
headers = TNY_LIST (tny_simple_list_new ());
g_object_unref (source_win);
}
+typedef struct {
+ gchar *folder_name;
+ TnyFolderStore *parent;
+} CreateFolderConnect;
+
+static void
+do_create_folder_performer (gboolean canceled,
+ GError *err,
+ GtkWindow *parent_window,
+ TnyAccount *account,
+ gpointer user_data)
+{
+ CreateFolderConnect *helper = (CreateFolderConnect *) user_data;
+ ModestMailOperation *mail_op;
+
+ if (canceled || err) {
+ /* In memory full conditions we could get this error here */
+ check_memory_full_error ((GtkWidget *) parent_window, err);
+ goto frees;
+ }
+
+ mail_op = modest_mail_operation_new ((GObject *) parent_window);
+ modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (),
+ mail_op);
+ modest_mail_operation_create_folder (mail_op,
+ helper->parent,
+ (const gchar *) helper->folder_name,
+ do_create_folder_cb,
+ g_strdup (helper->folder_name));
+ g_object_unref (mail_op);
+
+ frees:
+ if (helper->parent)
+ g_object_unref (helper->parent);
+ if (helper->folder_name)
+ g_free (helper->folder_name);
+ g_slice_free (CreateFolderConnect, helper);
+}
+
+
static void
do_create_folder (GtkWindow *parent_window,
TnyFolderStore *suggested_parent,
&parent_folder);
if (result == GTK_RESPONSE_ACCEPT && parent_folder) {
- ModestMailOperation *mail_op;
+ CreateFolderConnect *helper = (CreateFolderConnect *) g_slice_new0 (CreateFolderHelper);
+ helper->folder_name = g_strdup (folder_name);
+ helper->parent = g_object_ref (parent_folder);
- mail_op = modest_mail_operation_new ((GObject *) parent_window);
- modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (),
- mail_op);
- modest_mail_operation_create_folder (mail_op,
- parent_folder,
- (const gchar *) folder_name,
- do_create_folder_cb,
- folder_name);
- g_object_unref (mail_op);
+ modest_platform_connect_if_remote_and_perform (GTK_WINDOW (parent_window),
+ TRUE,
+ parent_folder,
+ do_create_folder_performer,
+ helper);
}
+ if (folder_name)
+ g_free (folder_name);
if (parent_folder)
g_object_unref (parent_folder);
}
static void
-create_folder_performer (gboolean canceled,
- GError *err,
- GtkWindow *parent_window,
- TnyAccount *account,
- gpointer user_data)
-{
- TnyFolderStore *parent_folder = TNY_FOLDER_STORE (user_data);
-
- if (canceled || err) {
- /* In memory full conditions we could get this error here */
- check_memory_full_error ((GtkWidget *) parent_window, err);
- goto frees;
- }
-
- /* Run the new folder dialog */
- do_create_folder (GTK_WINDOW (parent_window), parent_folder, NULL);
-
- frees:
- g_object_unref (parent_folder);
-}
-
-static void
modest_ui_actions_create_folder(GtkWidget *parent_window,
GtkWidget *folder_view)
{
parent_folder = modest_folder_view_get_selected (MODEST_FOLDER_VIEW(folder_view));
#endif
- if (parent_folder) {
- /* The parent folder will be freed in the callback */
- modest_platform_connect_if_remote_and_perform (GTK_WINDOW (parent_window),
- TRUE,
- parent_folder,
- create_folder_performer,
- parent_folder);
- }
+ if (parent_folder)
+ do_create_folder (GTK_WINDOW (parent_window), parent_folder, NULL);
}
void
modest_ui_actions_move_folder_error_handler (ModestMailOperation *mail_op,
gpointer user_data)
{
+ GObject *win = NULL;
+
+#ifndef MODEST_TOOLKIT_HILDON2
ModestWindow *main_window = NULL;
-
+
/* Disable next automatic folder selection */
main_window = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr (),
FALSE); /* don't create */
if (main_window) {
- GObject *win = NULL;
GtkWidget *folder_view = NULL;
-
+
folder_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (main_window),
MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW);
modest_folder_view_disable_next_folder_selection (MODEST_FOLDER_VIEW(folder_view));
-
+
if (user_data && TNY_IS_FOLDER (user_data)) {
modest_folder_view_select_folder (MODEST_FOLDER_VIEW (folder_view),
TNY_FOLDER (user_data), FALSE);
}
-
- /* Show notification dialog only if the main window exists */
- win = modest_mail_operation_get_source (mail_op);
- modest_platform_run_information_dialog ((GtkWindow *) win,
- _("mail_in_ui_folder_move_target_error"),
- FALSE);
- if (win)
- g_object_unref (win);
}
+#endif
+ /* Show notification dialog only if the main window exists */
+ win = modest_mail_operation_get_source (mail_op);
+ modest_platform_run_information_dialog ((GtkWindow *) win,
+ _("mail_in_ui_folder_move_target_error"),
+ FALSE);
+ if (win)
+ g_object_unref (win);
}
static void
GtkWidget *dialog = NULL, *folder_view = NULL;
ModestMainWindow *main_window;
MoveToInfo *helper = NULL;
+ TnyList *list_to_move;
g_return_val_if_fail (MODEST_IS_WINDOW (win), FALSE);
else
folder_view = NULL;
+ list_to_move = modest_platform_get_list_to_move (MODEST_WINDOW (win));
+
+ if (!list_to_move)
+ return FALSE;
+
+ if (tny_list_get_length (list_to_move) < 1) {
+ g_object_unref (list_to_move);
+ return FALSE;
+ }
+
/* Create and run the dialog */
dialog = create_move_to_dialog (GTK_WINDOW (win), folder_view);
modest_window_mgr_set_modal (modest_runtime_get_window_mgr (),