X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-platform.c;h=2028960c02b4e80741a353dc324fa400d2aa8bdc;hp=53e105e3fd45fdb6dbd4ab9c670f26bff182979a;hb=2dd768c41084634bf9d0ba7b9efd51c934264ded;hpb=e1070ee8690e59d773327a99f3fba63d0b1a9ce5 diff --git a/src/hildon2/modest-platform.c b/src/hildon2/modest-platform.c index 53e105e..2028960 100644 --- a/src/hildon2/modest-platform.c +++ b/src/hildon2/modest-platform.c @@ -2517,6 +2517,10 @@ move_to_dialog_show_accounts (GtkWidget *dialog) gtk_widget_set_sensitive (back_button, FALSE); gtk_widget_set_sensitive (action_button, FALSE); + /* Need to set this here, otherwise callbacks called because + of filtering won't perform correctly */ + g_object_set_data (G_OBJECT (dialog), MOVE_TO_DIALOG_SHOWING_FOLDERS, GINT_TO_POINTER (FALSE)); + gtk_label_set_text (GTK_LABEL (selection_label), ""); modest_folder_view_show_non_move_folders (MODEST_FOLDER_VIEW (folder_view), TRUE); modest_folder_view_set_style (MODEST_FOLDER_VIEW (folder_view), MODEST_FOLDER_VIEW_STYLE_SHOW_ALL); @@ -2526,8 +2530,6 @@ move_to_dialog_show_accounts (GtkWidget *dialog) g_object_set (G_OBJECT (folder_view), "hildon-ui-mode", HILDON_UI_MODE_NORMAL, NULL); - - g_object_set_data (G_OBJECT (dialog), MOVE_TO_DIALOG_SHOWING_FOLDERS, GINT_TO_POINTER (FALSE)); } static void @@ -2551,8 +2553,12 @@ move_to_dialog_show_folders (GtkWidget *dialog, TnyFolderStore *folder_store) gtk_widget_set_sensitive (back_button, TRUE); gtk_widget_set_sensitive (action_button, FALSE); - g_object_set (G_OBJECT (folder_view), - "hildon-ui-mode", HILDON_UI_MODE_EDIT, + /* Need to set this here, otherwise callbacks called because + of filtering won't perform correctly */ + g_object_set_data (G_OBJECT (dialog), MOVE_TO_DIALOG_SHOWING_FOLDERS, GINT_TO_POINTER (TRUE)); + + g_object_set (G_OBJECT (folder_view), + "hildon-ui-mode", HILDON_UI_MODE_EDIT, NULL); account = TNY_ACCOUNT (folder_store); @@ -2593,8 +2599,6 @@ move_to_dialog_show_folders (GtkWidget *dialog, TnyFolderStore *folder_store) modest_folder_view_set_style (MODEST_FOLDER_VIEW (folder_view), MODEST_FOLDER_VIEW_STYLE_SHOW_ONE); modest_folder_view_unset_filter (MODEST_FOLDER_VIEW (folder_view), MODEST_FOLDER_VIEW_FILTER_HIDE_FOLDERS); hildon_pannable_area_jump_to (HILDON_PANNABLE_AREA (pannable), 0, 0); - - g_object_set_data (G_OBJECT (dialog), MOVE_TO_DIALOG_SHOWING_FOLDERS, GINT_TO_POINTER (TRUE)); } static void @@ -2667,19 +2671,22 @@ static void on_move_to_dialog_selection_changed (GtkTreeSelection *selection, gpointer user_data) { - TnyFolderStore *selected; - GtkWidget *dialog; - GtkWidget *folder_view; gboolean showing_folders; + GtkWidget *dialog; dialog = (GtkWidget *) user_data; showing_folders = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (dialog), MOVE_TO_DIALOG_SHOWING_FOLDERS)); - if (showing_folders) { + if (showing_folders) { + TnyFolderStore *selected; + GtkWidget *folder_view; + folder_view = GTK_WIDGET (g_object_get_data (G_OBJECT (dialog), MOVE_TO_DIALOG_FOLDER_VIEW)); selected = modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view)); - if (selected) + if (selected) { move_to_dialog_set_selected_folder (dialog, selected); + g_object_unref (selected); + } } } @@ -2694,7 +2701,7 @@ on_move_to_dialog_action_clicked (GtkButton *selection, dialog = (GtkWidget *) user_data; showing_folders = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (dialog), MOVE_TO_DIALOG_SHOWING_FOLDERS)); - if (showing_folders) { + if (showing_folders) { folder_view = GTK_WIDGET (g_object_get_data (G_OBJECT (dialog), MOVE_TO_DIALOG_FOLDER_VIEW)); selected = modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view));