Skip to content

Commit 7ce1832

Browse files
authored
Use Gtk.FileDialog to choose excluded folders (#186)
1 parent 1257084 commit 7ce1832

3 files changed

Lines changed: 15 additions & 17 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
You'll need the following dependencies:
99
* libgranite-7-dev
10+
* libgtk-4-dev >= 4.10
1011
* libpolkit-gobject-1-dev
1112
* libswitchboard-3-dev
1213
* libzeitgeist-2.0-dev

src/Widgets/ExcludeTreeView.vala

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -71,24 +71,21 @@ public class ExcludeTreeView : Gtk.Box {
7171
var add_folder_button = new Gtk.Button.from_icon_name ("folder-new-symbolic");
7272
add_folder_button.tooltip_text = _("Add Folder…");
7373
add_folder_button.clicked.connect (() => {
74-
var chooser = new Gtk.FileChooserNative (
75-
_("Select a folder to blacklist"),
76-
null,
77-
Gtk.FileChooserAction.SELECT_FOLDER,
78-
_("Add"),
79-
_("Cancel")
80-
);
81-
chooser.show ();
82-
83-
chooser.response.connect ((response_id) => {
84-
if (response_id == Gtk.ResponseType.ACCEPT) {
85-
string folder = chooser.get_file ().get_path ();
86-
if (this.path_blacklist.is_duplicate (folder) == false) {
87-
path_blacklist.block (folder);
74+
var chooser = new Gtk.FileDialog () {
75+
title = _("Select a folder to blacklist"),
76+
accept_label = _("Add")
77+
};
78+
79+
chooser.select_folder.begin ((Gtk.Window) get_root (), null, (obj, res) => {
80+
try {
81+
var folder = chooser.select_folder.end (res);
82+
string folder_path = folder.get_path ();
83+
if (this.path_blacklist.is_duplicate (folder_path) == false) {
84+
path_blacklist.block (folder_path);
8885
}
86+
} catch (Error err) {
87+
warning ("Failed to select excluded folder: %s", err.message);
8988
}
90-
91-
chooser.destroy ();
9289
});
9390
});
9491

src/meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ plug_dependencies = [
2727
dependency('glib-2.0'),
2828
dependency('gobject-2.0'),
2929
dependency('granite-7'),
30-
dependency('gtk4'),
30+
dependency('gtk4', version: '>= 4.10'),
3131
dependency('zeitgeist-2.0'),
3232
meson.get_compiler('vala').find_library('posix'),
3333
polkit_dep,

0 commit comments

Comments
 (0)