From 2949a505853a87a525831e73af88cd4819892f6f Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 2 Apr 2004 21:04:09 +0000 Subject: Fixes bug #53851 2004-04-02 Jeffrey Stedfast Fixes bug #53851 * em-folder-view.c (emfv_popup_move_cb): Save the uri as the default for copy/move. (emfv_popup_move): Use the default copy/move uri. (emfv_popup_copy): Same. * em-folder-selection.c (em_select_folder): Select the uri *after* the dialog gets shown. svn path=/trunk/; revision=25306 --- mail/ChangeLog | 12 ++++++++++++ mail/em-folder-selection.c | 6 ++++-- mail/em-folder-view.c | 16 ++++++++++------ 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index 84d02a1087..6dfb06df10 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,15 @@ +2004-04-02 Jeffrey Stedfast + + Fixes bug #53851 + + * em-folder-view.c (emfv_popup_move_cb): Save the uri as the + default for copy/move. + (emfv_popup_move): Use the default copy/move uri. + (emfv_popup_copy): Same. + + * em-folder-selection.c (em_select_folder): Select the uri *after* + the dialog gets shown. + 2004-04-02 Jeffrey Stedfast Fixes bug #37416 diff --git a/mail/em-folder-selection.c b/mail/em-folder-selection.c index 0534ca99e1..42fc474f13 100644 --- a/mail/em-folder-selection.c +++ b/mail/em-folder-selection.c @@ -66,12 +66,14 @@ em_select_folder (GtkWindow *parent_window, const char *title, const char *defau emft = (EMFolderTree *) em_folder_tree_new_with_model (model); dialog = em_folder_selector_new(emft, EM_FOLDER_SELECTOR_CAN_CREATE, title, NULL); - if (default_uri) - em_folder_selector_set_selected((EMFolderSelector *)dialog, default_uri); + d = g_malloc0(sizeof(*d)); d->data = user_data; d->done = done; g_signal_connect(dialog, "response", G_CALLBACK (emfs_selector_response), d); g_object_set_data_full((GObject *)dialog, "e-select-data", d, (GDestroyNotify)g_free); gtk_widget_show(dialog); + + if (default_uri) + em_folder_selector_set_selected((EMFolderSelector *)dialog, default_uri); } diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c index 2e9f9de377..fe647000a1 100644 --- a/mail/em-folder-view.c +++ b/mail/em-folder-view.c @@ -614,16 +614,20 @@ struct _move_data { int delete; }; +static char *default_xfer_messages_uri = NULL; + static void emfv_popup_move_cb(const char *uri, void *data) { struct _move_data *d = data; - - if (uri) + + if (uri) { + g_free (default_xfer_messages_uri); + default_xfer_messages_uri = g_strdup (uri); mail_transfer_messages(d->emfv->folder, d->uids, d->delete, uri, 0, NULL, NULL); - else + } else em_utils_uids_free(d->uids); - + g_object_unref(d->emfv); g_free(d); } @@ -639,7 +643,7 @@ emfv_popup_move(GtkWidget *w, EMFolderView *emfv) d->uids = message_list_get_selected(emfv->list); d->delete = TRUE; - em_select_folder ((GtkWindow *) emfv, _("Select folder"), NULL, emfv_popup_move_cb, d); + em_select_folder ((GtkWindow *) emfv, _("Select folder"), default_xfer_messages_uri, emfv_popup_move_cb, d); } static void @@ -653,7 +657,7 @@ emfv_popup_copy(GtkWidget *w, EMFolderView *emfv) d->uids = message_list_get_selected(emfv->list); d->delete = FALSE; - em_select_folder ((GtkWindow *) emfv, _("Select folder"), NULL, emfv_popup_move_cb, d); + em_select_folder ((GtkWindow *) emfv, _("Select folder"), default_xfer_messages_uri, emfv_popup_move_cb, d); } static void -- cgit v1.2.3