From 69314ef046207b47b0ff7163fede45bb36a8626d Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Sun, 14 Apr 2019 12:44:06 +0100 Subject: [PATCH 1/4] Add close all folders except this context item --- src/FolderManager/FileView.vala | 10 ++++++++++ src/FolderManager/ProjectFolderItem.vala | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/src/FolderManager/FileView.vala b/src/FolderManager/FileView.vala index f7c065c65e..7c4850eade 100644 --- a/src/FolderManager/FileView.vala +++ b/src/FolderManager/FileView.vala @@ -120,6 +120,16 @@ namespace Scratch.FolderManager { root.remove (folder_root); write_settings (); }); + + folder_root.close_all_except.connect (() => { + foreach (var child in root.children) { + if (child != folder_root) { + root.remove (child); + } + } + + write_settings (); + }); } private bool is_open (File folder) { diff --git a/src/FolderManager/ProjectFolderItem.vala b/src/FolderManager/ProjectFolderItem.vala index 215af0e68b..a0eace77a6 100644 --- a/src/FolderManager/ProjectFolderItem.vala +++ b/src/FolderManager/ProjectFolderItem.vala @@ -23,6 +23,7 @@ namespace Scratch.FolderManager { private const uint GIT_UPDATE_RATE_LIMIT = 300; public signal void closed (); + public signal void close_all_except (); // Static source IDs for each instance of a top level folder, ensures we don't check for git updates too much private static Gee.HashMap git_update_timer_ids; @@ -78,6 +79,9 @@ namespace Scratch.FolderManager { var close_item = new Gtk.MenuItem.with_label (_("Close Folder")); close_item.activate.connect (() => { closed (); }); + var close_all_except_item = new Gtk.MenuItem.with_label (_("Close All Folders Except This")); + close_all_except_item.activate.connect (() => { close_all_except (); }); + var delete_item = new Gtk.MenuItem.with_label (_("Move to Trash")); delete_item.activate.connect (() => { closed (); @@ -86,6 +90,7 @@ namespace Scratch.FolderManager { var menu = new Gtk.Menu (); menu.append (close_item); + menu.append (close_all_except_item); menu.append (create_submenu_for_new ()); menu.append (delete_item); From d70f9a5a9aa29ab25fce7182738e95e4240746f6 Mon Sep 17 00:00:00 2001 From: Jeremy Wootten Date: Tue, 26 Nov 2019 11:56:01 +0000 Subject: [PATCH 2/4] Amend option text --- src/FolderManager/ProjectFolderItem.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/FolderManager/ProjectFolderItem.vala b/src/FolderManager/ProjectFolderItem.vala index 33e5563d9b..8b0a096210 100644 --- a/src/FolderManager/ProjectFolderItem.vala +++ b/src/FolderManager/ProjectFolderItem.vala @@ -96,7 +96,7 @@ namespace Scratch.FolderManager { var close_item = new Gtk.MenuItem.with_label (_("Close Folder")); close_item.activate.connect (() => { closed (); }); - var close_all_except_item = new Gtk.MenuItem.with_label (_("Close All Folders Except This")); + var close_all_except_item = new Gtk.MenuItem.with_label (_("Close Other Folders")); close_all_except_item.activate.connect (() => { close_all_except (); }); var delete_item = new Gtk.MenuItem.with_label (_("Move to Trash")); From 0d6774854b167d91bfca7a73e95af8bec0d712ab Mon Sep 17 00:00:00 2001 From: Cassidy James Blaede Date: Thu, 16 Jan 2020 13:10:41 -0700 Subject: [PATCH 3/4] Update AppData --- data/io.elementary.code.appdata.xml.in | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/data/io.elementary.code.appdata.xml.in b/data/io.elementary.code.appdata.xml.in index 7f6f788a17..5af775f59a 100644 --- a/data/io.elementary.code.appdata.xml.in +++ b/data/io.elementary.code.appdata.xml.in @@ -46,6 +46,18 @@ + + +

New features:

+
    +
  • New "Close Other Folders" menu item to help clean up your sidebar
  • +
+

Other updates:

+
    +
  • Updated translations
  • +
+
+

New features:

From b116baf591aac84d01781f1935164e386e5c639a Mon Sep 17 00:00:00 2001 From: Jeremy Wootten Date: Mon, 20 Jan 2020 19:40:16 +0000 Subject: [PATCH 4/4] Make close_all_except item insensitive when no effect --- src/FolderManager/ProjectFolderItem.vala | 1 + 1 file changed, 1 insertion(+) diff --git a/src/FolderManager/ProjectFolderItem.vala b/src/FolderManager/ProjectFolderItem.vala index 8b0a096210..5e2fe4bbbe 100644 --- a/src/FolderManager/ProjectFolderItem.vala +++ b/src/FolderManager/ProjectFolderItem.vala @@ -98,6 +98,7 @@ namespace Scratch.FolderManager { var close_all_except_item = new Gtk.MenuItem.with_label (_("Close Other Folders")); close_all_except_item.activate.connect (() => { close_all_except (); }); + close_all_except_item.sensitive = view.root.children.size > 1; var delete_item = new Gtk.MenuItem.with_label (_("Move to Trash")); delete_item.activate.connect (() => {