GtkWidget *folder_view,
TnyFolderStore *dst_folder,
ModestMainWindow *win);
+#ifdef MODEST_TOOLKIT_HILDON2
static void modest_ui_actions_on_folder_window_move_to (GtkWidget *folder_view,
TnyFolderStore *dst_folder,
TnyList *selection,
GtkWindow *win);
+#endif
static void modest_ui_actions_on_window_move_to (GtkAction *action,
TnyList *list_to_move,
}
void
-modest_ui_actions_on_insert_image (GtkAction *action,
+modest_ui_actions_on_insert_image (GObject *object,
ModestMsgEditWindow *window)
{
g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window));
- g_return_if_fail (GTK_IS_ACTION (action));
if (modest_platform_check_memory_low (MODEST_WINDOW(window), TRUE))
ModestMsgEditWindow *window)
{
g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window));
- g_return_if_fail (GTK_IS_ACTION (action));
modest_msg_edit_window_remove_attachments (window, NULL);
}
static void
do_create_folder (GtkWindow *parent_window,
- TnyFolderStore *parent_folder,
+ TnyFolderStore *suggested_parent,
const gchar *suggested_name)
{
gint result;
gchar *folder_name = NULL;
+ TnyFolderStore *parent_folder = NULL;
result = modest_platform_run_new_folder_dialog (GTK_WINDOW (parent_window),
- parent_folder,
+ suggested_parent,
(gchar *) suggested_name,
- &folder_name);
-
- if (result == GTK_RESPONSE_ACCEPT) {
+ &folder_name,
+ &parent_folder);
+
+ if (result == GTK_RESPONSE_ACCEPT && parent_folder) {
ModestMailOperation *mail_op;
-
+
mail_op = modest_mail_operation_new ((GObject *) parent_window);
modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (),
mail_op);
folder_name);
g_object_unref (mail_op);
}
+
+ if (parent_folder)
+ g_object_unref (parent_folder);
}
static void
{
TnyFolderStore *parent_folder;
+#ifdef MODEST_TOOLKIT_HILDON2
+ const gchar *active_account;
+ TnyAccount *account;
+ ModestTnyAccountStore *acc_store;
+
+ /* In hildon 2.2 we use the current account as default parent */
+ acc_store = modest_runtime_get_account_store ();
+ active_account = modest_window_get_active_account (MODEST_WINDOW (parent_window));
+ if (active_account) {
+ account = modest_tny_account_store_get_server_account (acc_store,
+ active_account,
+ TNY_ACCOUNT_TYPE_STORE);
+ parent_folder = TNY_FOLDER_STORE (account);
+ } else {
+ parent_folder = (TnyFolderStore *)
+ modest_tny_account_store_get_local_folders_account (acc_store);
+ }
+#else
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),
+ modest_platform_connect_if_remote_and_perform (GTK_WINDOW (parent_window),
TRUE,
parent_folder,
- create_folder_performer,
+ create_folder_performer,
parent_folder);
}
}
-void
+void
modest_ui_actions_on_new_folder (GtkAction *action, ModestWindow *window)
{
-
+
g_return_if_fail (MODEST_IS_WINDOW(window));
if (MODEST_IS_MAIN_WINDOW (window)) {
} else if (MODEST_IS_FOLDER_WINDOW (window)) {
folder_view = GTK_WIDGET (modest_folder_window_get_folder_view (MODEST_FOLDER_WINDOW (window)));
#endif
+ } else {
+ return FALSE;
}
folder = modest_folder_view_get_selected (MODEST_FOLDER_VIEW(folder_view));
} else if (MODEST_IS_FOLDER_WINDOW (parent_window)) {
folder_view = GTK_WIDGET (modest_folder_window_get_folder_view (MODEST_FOLDER_WINDOW (parent_window)));
#endif
+ } else {
+ g_object_unref (G_OBJECT (info->folder));
+ g_free (info);
+ return;
}
/* Unselect the folder before deleting it to free the headers */
} else if (MODEST_IS_FOLDER_WINDOW (window)) {
folder_view = GTK_WIDGET (modest_folder_window_get_folder_view (MODEST_FOLDER_WINDOW (window)));
#endif
+ } else {
+ return FALSE;
}
if (!folder_view)
return FALSE;
TnyFolderStore *dst_folder;
case MODEST_GTK_RESPONSE_NEW_FOLDER:
- modest_ui_actions_create_folder (GTK_WIDGET (dialog), folder_view);
+ modest_ui_actions_create_folder (GTK_WIDGET (parent_win), folder_view);
return;
case GTK_RESPONSE_NONE:
case GTK_RESPONSE_CANCEL:
}
/* Free the helper and exit */
- g_object_unref (helper->list);
+ if (helper->list)
+ g_object_unref (helper->list);
g_slice_free (MoveToInfo, helper);
gtk_widget_destroy (GTK_WIDGET (dialog));
}
void
-modest_ui_actions_on_toggle_find_in_page (GtkToggleAction *action,
+modest_ui_actions_on_toggle_find_in_page (GtkAction *action,
ModestWindow *window)
{
+ gboolean active;
g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window));
- modest_msg_edit_window_toggle_find_toolbar (MODEST_MSG_EDIT_WINDOW (window), gtk_toggle_action_get_active (action));
+ if (GTK_IS_TOGGLE_ACTION (action))
+ active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
+ else
+ active = TRUE;
+
+ modest_msg_edit_window_toggle_find_toolbar (MODEST_MSG_EDIT_WINDOW (window),
+ active);
}
static void