Skip to content

Commit f3b7988

Browse files
committed
Use Gtk.FileDialog to choose excluded folders
1 parent 1257084 commit f3b7988

File tree

3 files changed

+19
-17
lines changed

3 files changed

+19
-17
lines changed

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: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -71,24 +71,25 @@ 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);
88-
}
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+
File folder;
81+
82+
try {
83+
folder = chooser.select_folder.end (res);
84+
} catch (Error err) {
85+
warning ("Failed to select folder: %s", err.message);
86+
return;
8987
}
9088

91-
chooser.destroy ();
89+
string folder_path = folder.get_path ();
90+
if (this.path_blacklist.is_duplicate (folder_path) == false) {
91+
path_blacklist.block (folder_path);
92+
}
9293
});
9394
});
9495

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)