From e1119e83a02b759a888ec15f71092917b7520832 Mon Sep 17 00:00:00 2001 From: franciol Date: Thu, 25 Jun 2020 23:52:28 -0300 Subject: [PATCH 1/3] Fixes #576 Fixes #576 Fixes #576 --- src/FolderManager/FileView.vala | 2 ++ src/MainWindow.vala | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/FolderManager/FileView.vala b/src/FolderManager/FileView.vala index f283b555a5..66120766ee 100644 --- a/src/FolderManager/FileView.vala +++ b/src/FolderManager/FileView.vala @@ -26,6 +26,7 @@ namespace Scratch.FolderManager { private GLib.Settings settings; public signal void select (string file); + public signal void close_all_docs_from_path (string path); // This is a workaround for SourceList silliness: you cannot remove an item // without it automatically selecting another one. @@ -141,6 +142,7 @@ namespace Scratch.FolderManager { folder_root.expanded = expand; folder_root.closed.connect (() => { + close_all_docs_from_path (folder_root.file.path); root.remove (folder_root); write_settings (); }); diff --git a/src/MainWindow.vala b/src/MainWindow.vala index c1afe611c4..15e89ee552 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -350,6 +350,22 @@ namespace Scratch { } }); + folder_manager_view.close_all_docs_from_path.connect ((a) => { + Scratch.Widgets.DocumentView? view = null; + if (split_view.is_empty ()) { + view = split_view.add_view (); + } else { + view = get_current_view (); + } + var docs = view.docs.copy (); + + foreach (var doc in docs) { + if (doc.file.get_path ().has_prefix (a)) { + close_document (doc); + } + } + }); + folder_manager_view.restore_saved_state (); bottombar = new Gtk.Notebook (); From 08d0675544ac276faa8dc2ec2c4e85426c1b3915 Mon Sep 17 00:00:00 2001 From: franciol Date: Thu, 2 Jul 2020 16:21:05 -0300 Subject: [PATCH 2/3] Correcting Issues with splitview and welcome view --- src/MainWindow.vala | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index 15e89ee552..d95068765d 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -351,18 +351,16 @@ namespace Scratch { }); folder_manager_view.close_all_docs_from_path.connect ((a) => { - Scratch.Widgets.DocumentView? view = null; - if (split_view.is_empty ()) { - view = split_view.add_view (); - } else { - view = get_current_view (); - } - var docs = view.docs.copy (); - - foreach (var doc in docs) { - if (doc.file.get_path ().has_prefix (a)) { - close_document (doc); - } + if (!split_view.is_empty ()) { + split_view.views.foreach ((view) => { + var docs = view.docs.copy (); + foreach (var doc in docs) { + if (doc.file.get_path ().has_prefix (a)) { + view.close_document (doc); + } + } + + }); } }); From db4834e2ddecd0ce01510ace514d4e02eb8d4255 Mon Sep 17 00:00:00 2001 From: franciol Date: Thu, 2 Jul 2020 16:26:02 -0300 Subject: [PATCH 3/3] Lint error fixed --- src/MainWindow.vala | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/MainWindow.vala b/src/MainWindow.vala index d95068765d..41580d447e 100644 --- a/src/MainWindow.vala +++ b/src/MainWindow.vala @@ -354,12 +354,11 @@ namespace Scratch { if (!split_view.is_empty ()) { split_view.views.foreach ((view) => { var docs = view.docs.copy (); - foreach (var doc in docs) { + docs.foreach ((doc) => { if (doc.file.get_path ().has_prefix (a)) { view.close_document (doc); } - } - + }); }); } });