File tree Expand file tree Collapse file tree
src/Library/demos/Open File Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #! / usr/ bin/ env - S vala workbench. vala -- pkg libadwaita- 1
2+
3+ public void main () {
4+ var button_single = (Gtk . Button ) workbench. builder. get_object (" button_single" );
5+ var button_multiple = (Gtk . Button ) workbench. builder. get_object (" button_multiple" );
6+
7+ button_single. clicked. connect (open_single. begin);
8+ button_multiple. clicked. connect (open_multiple. begin);
9+ }
10+
11+ private async void open_single () {
12+ var default_directory = File . new_for_path (
13+ Environment . get_user_special_dir (DOWNLOAD )
14+ );
15+ var file_dialog = new Gtk .FileDialog () {
16+ initial_folder = default_directory
17+ };
18+
19+ try {
20+ File file = yield file_dialog. open (workbench. window, null );
21+ FileInfo info = file. query_info (" standard::name" , NONE , null );
22+
23+ message (@" Selected file: $(info.get_name ())" );
24+ } catch (Error e) {
25+ critical (e. message);
26+ }
27+ }
28+
29+ private async void open_multiple () {
30+ var file_dialog = new Gtk .FileDialog ();
31+ try {
32+ ListModel files = yield file_dialog. open_multiple (workbench. window, null );
33+ message (@" Number of selected files: $(files.get_n_items ())" );
34+ } catch (Error e) {
35+ critical (e. message);
36+ }
37+ }
You can’t perform that action at this time.
0 commit comments