aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2004-04-03 05:04:09 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2004-04-03 05:04:09 +0800
commit2949a505853a87a525831e73af88cd4819892f6f (patch)
treeacef56742614059fb6f3873f24de03c831a521b1
parenta3eea7e8857928541717df562ab98017e23ecb0d (diff)
downloadgsoc2013-evolution-2949a505853a87a525831e73af88cd4819892f6f.tar
gsoc2013-evolution-2949a505853a87a525831e73af88cd4819892f6f.tar.gz
gsoc2013-evolution-2949a505853a87a525831e73af88cd4819892f6f.tar.bz2
gsoc2013-evolution-2949a505853a87a525831e73af88cd4819892f6f.tar.lz
gsoc2013-evolution-2949a505853a87a525831e73af88cd4819892f6f.tar.xz
gsoc2013-evolution-2949a505853a87a525831e73af88cd4819892f6f.tar.zst
gsoc2013-evolution-2949a505853a87a525831e73af88cd4819892f6f.zip
Fixes bug #53851
2004-04-02 Jeffrey Stedfast <fejj@ximian.com> 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
-rw-r--r--mail/ChangeLog12
-rw-r--r--mail/em-folder-selection.c6
-rw-r--r--mail/em-folder-view.c16
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,5 +1,17 @@
2004-04-02 Jeffrey Stedfast <fejj@ximian.com>
+ 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 <fejj@ximian.com>
+
Fixes bug #37416
* mail-folder-cache.c (update_1folder): Same as below. Also add
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