Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
panel_file_browser.h
1// SPDX-FileCopyrightText: © 2019-2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __GUI_WIDGETS_PANEL_FILE_BROWSER_H__
5#define __GUI_WIDGETS_PANEL_FILE_BROWSER_H__
6
8#include "utils/types.h"
9
10#include <gtk/gtk.h>
11
12TYPEDEF_STRUCT_UNDERSCORED (FileAuditionerControlsWidget);
13TYPEDEF_STRUCT (FileBrowserLocation);
14TYPEDEF_STRUCT_UNDERSCORED (FileBrowserFiltersWidget);
15TYPEDEF_STRUCT (ItemFactory);
16
23#define PANEL_FILE_BROWSER_WIDGET_TYPE (panel_file_browser_widget_get_type ())
24G_DECLARE_FINAL_TYPE (
26 panel_file_browser_widget,
27 Z,
28 PANEL_FILE_BROWSER_WIDGET,
29 GtkWidget);
30
31#define MW_PANEL_FILE_BROWSER MW_RIGHT_DOCK_EDGE->file_browser
32
33typedef struct _PanelFileBrowserWidget
34{
35 GtkWidget parent_instance;
36
37 GtkPaned * paned;
38
39 GtkBox * browser_top;
40 GtkBox * browser_bot;
41
42 GtkListView * bookmarks_list_view;
43 ItemFactory * bookmarks_item_factory;
44
45 GtkLabel * file_info;
46 ZFileType selected_type;
47
48 GtkSearchEntry * file_search_entry;
49
50 GtkCustomFilter * files_filter;
51 GtkFilterListModel * files_filter_model;
52 GtkSingleSelection * files_selection_model;
53 ItemFactory * files_item_factory;
54 GtkListView * files_list_view;
55
57 GPtrArray * selected_locations;
58 GPtrArray * selected_files;
59
60 FileBrowserFiltersWidget * filters_toolbar;
61
62 FileAuditionerControlsWidget * auditioner_controls;
63
66
67 bool first_draw;
68
70 GtkPopoverMenu * popover_menu;
72
73void
74panel_file_browser_refresh_bookmarks (PanelFileBrowserWidget * self);
75
77panel_file_browser_widget_get_selected_bookmark (PanelFileBrowserWidget * self);
78
80panel_file_browser_widget_new (void);
81
86#endif
ZFileType
File type.
File auditioner controls used in file browsers.
File auditioner controls used in file browsers.
Locations to be used in the file browser.
Item factory for column views.
const SupportedFile * cur_file
Temp.
GPtrArray * selected_locations
Array of SupportedFile.
GtkPopoverMenu * popover_menu
Popover to be reused for context menus.
Metadata for a supported file.
Supported file info.
Custom types.