[evolution] I#1288 - Mail: Option to preserve folder expand state in Copy/Move to Folder



commit daab6c38c7c8a352a68a90a9604ed06d0c789ca6
Author: Milan Crha <mcrha redhat com>
Date:   Wed Jan 6 12:25:17 2021 +0100

    I#1288 - Mail: Option to preserve folder expand state in Copy/Move to Folder
    
    Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1288

 data/org.gnome.evolution.mail.gschema.xml.in |  5 +++++
 src/mail/e-mail-reader.c                     | 10 +++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)
---
diff --git a/data/org.gnome.evolution.mail.gschema.xml.in b/data/org.gnome.evolution.mail.gschema.xml.in
index b692ef2825..0a21853ae2 100644
--- a/data/org.gnome.evolution.mail.gschema.xml.in
+++ b/data/org.gnome.evolution.mail.gschema.xml.in
@@ -847,6 +847,11 @@
       <_summary>Whether unset colors provided in HTML mails.</_summary>
       <_description>If enabled, unset colors in HTML messages, forcing use of desktop theme colors 
instead.</_description>
     </key>
+    <key name="copy-move-to-folder-preserve-expand" type="b">
+      <default>false</default>
+      <_summary>Whether to preserver expand state of the folders when calling Copy/Move to Folder.</_summary>
+      <_description>If enabled, the Copy/Move to Folder dialog will preserve the expand state of the folders 
in the dialog, otherwise all the folders will be expanded.</_description>
+    </key>
 
     <!-- The following keys are deprecated. -->
 
diff --git a/src/mail/e-mail-reader.c b/src/mail/e-mail-reader.c
index ae585b00e7..e44b4659c1 100644
--- a/src/mail/e-mail-reader.c
+++ b/src/mail/e-mail-reader.c
@@ -338,6 +338,7 @@ mail_reader_copy_or_move_selected_messages (EMailReader *reader,
        EMFolderSelector *selector;
        EMFolderTree *folder_tree;
        EMFolderTreeModel *model;
+       GSettings *settings;
        GtkWidget *dialog;
        GtkWindow *window;
        GPtrArray *uids;
@@ -367,7 +368,14 @@ mail_reader_copy_or_move_selected_messages (EMailReader *reader,
                EMFT_EXCLUDE_NOSELECT |
                EMFT_EXCLUDE_VIRTUAL |
                EMFT_EXCLUDE_VTRASH);
-       gtk_tree_view_expand_all (GTK_TREE_VIEW (folder_tree));
+
+       settings = e_util_ref_settings ("org.gnome.evolution.mail");
+
+       if (!g_settings_get_boolean (settings, "copy-move-to-folder-preserve-expand"))
+               gtk_tree_view_expand_all (GTK_TREE_VIEW (folder_tree));
+
+       g_clear_object (&settings);
+
        em_folder_selector_maybe_collapse_archive_folders (selector);
 
        if (default_xfer_messages_uri != NULL) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]