annotate src/layout_util.h @ 2817:e6f95baec8b5

Fix #624: Filter files by shell or regular expression pattern https://github.com/BestImageViewer/geeqie/issues/624 An option on Select/Show File Filter (or the toolbar) to provide regular expression file-filtering of the currently displayed folder.
author Colin Clark <colin.clark@cclark.uk>
date Wed, 15 Aug 2018 19:43:06 +0100
parents e9e8e8b2afce
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
1 /*
2350
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
2 * Copyright (C) 2004 John Ellis
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
3 * Copyright (C) 2008 - 2016 The Geeqie Team
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
4 *
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
5 * Author: John Ellis
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
6 *
2350
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
7 * This program is free software; you can redistribute it and/or modify
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
8 * it under the terms of the GNU General Public License as published by
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
10 * (at your option) any later version.
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
11 *
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
12 * This program is distributed in the hope that it will be useful,
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
15 * GNU General Public License for more details.
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
16 *
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
17 * You should have received a copy of the GNU General Public License along
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
18 * with this program; if not, write to the Free Software Foundation, Inc.,
95507e596256 Update copyright in all files
Klaus Ethgen <Klaus@Ethgen.de>
parents: 2340
diff changeset
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
20 */
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
21
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
22 #ifndef LAYOUT_UTIL_H
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
23 #define LAYOUT_UTIL_H
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
24
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
25
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
26 #include "layout.h"
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
27
1433
12600de4b59a Use gboolean where applicable, minor cleanup and indentations fixes.
Laurent Monin <geeqie@norz.org>
parents: 1335
diff changeset
28 gboolean layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
29
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
30 void layout_util_sync_thumb(LayoutWindow *lw);
2611
dcb69884b44c Fix #517: Fix checkbox falling out of sync
ilexiris <>
parents: 2350
diff changeset
31 void layout_util_sync_marks(LayoutWindow *lw);
2817
e6f95baec8b5 Fix #624: Filter files by shell or regular expression pattern
Colin Clark <colin.clark@cclark.uk>
parents: 2813
diff changeset
32 void layout_util_sync_file_filter(LayoutWindow *lw);
1582
f137ec3fd85e - handle color profile and write metadata buttons on statusbar by ui_manager
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1463
diff changeset
33 void layout_util_sync_color(LayoutWindow *lw);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
34 void layout_util_sync(LayoutWindow *lw);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
35
1582
f137ec3fd85e - handle color profile and write metadata buttons on statusbar by ui_manager
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1463
diff changeset
36 void layout_util_status_update_write(LayoutWindow *lw);
f137ec3fd85e - handle color profile and write metadata buttons on statusbar by ui_manager
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1463
diff changeset
37 void layout_util_status_update_write_all(void);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
38
1272
661e170bf4f7 read external editors from .desktop files
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1055
diff changeset
39 //void layout_edit_update_all(void);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
40
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
41 void layout_recent_update_all(void);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
42 void layout_recent_add_path(const gchar *path);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
43
497
29dc838f7d6b Allow the copy of file paths to clipboard.
Laurent Monin <geeqie@norz.org>
parents: 475
diff changeset
44 void layout_copy_path_update_all(void);
29dc838f7d6b Allow the copy of file paths to clipboard.
Laurent Monin <geeqie@norz.org>
parents: 475
diff changeset
45
1736
7179fa22dc1b load desktop files in idle time
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1612
diff changeset
46 void layout_editors_reload_start(void);
7179fa22dc1b load desktop files in idle time
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1612
diff changeset
47 void layout_editors_reload_finish(void);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
48 void layout_actions_setup(LayoutWindow *lw);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
49 void layout_actions_add_window(LayoutWindow *lw, GtkWidget *window);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
50 GtkWidget *layout_actions_menu_bar(LayoutWindow *lw);
2623
f5886b8e1968 Fix #444: User-definable toolbar
Colin Clark <colin.clark@cclark.uk>
parents: 2611
diff changeset
51 void layout_toolbar_add_from_config(LayoutWindow *lw, ToolbarType type, const gchar **attribute_names, const gchar **attribute_values);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
52
1582
f137ec3fd85e - handle color profile and write metadata buttons on statusbar by ui_manager
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1463
diff changeset
53 GtkWidget *layout_actions_toolbar(LayoutWindow *lw, ToolbarType type);
1043
718ab8111f48 Replaced gtk depreceated code.
Petr Ostadal <postadal@suse.cz>
parents: 497
diff changeset
54
2623
f5886b8e1968 Fix #444: User-definable toolbar
Colin Clark <colin.clark@cclark.uk>
parents: 2611
diff changeset
55 void layout_toolbar_write_config(LayoutWindow *lw, ToolbarType type, GString *outstr, gint indent);
f5886b8e1968 Fix #444: User-definable toolbar
Colin Clark <colin.clark@cclark.uk>
parents: 2611
diff changeset
56 void layout_toolbar_clear(LayoutWindow *lw, ToolbarType type);
f5886b8e1968 Fix #444: User-definable toolbar
Colin Clark <colin.clark@cclark.uk>
parents: 2611
diff changeset
57 void layout_toolbar_add(LayoutWindow *lw, ToolbarType type, const gchar *action);
f5886b8e1968 Fix #444: User-definable toolbar
Colin Clark <colin.clark@cclark.uk>
parents: 2611
diff changeset
58 void layout_toolbar_add_default(LayoutWindow *lw, ToolbarType type);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
59 void layout_keyboard_init(LayoutWindow *lw, GtkWidget *window);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
60
1291
abf5d1de9102 replaced bar_info with an universal bar, restored the original
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1284
diff changeset
61 void layout_bar_toggle(LayoutWindow *lw);
1317
bb9d01551d6c simplified and improved bar configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1309
diff changeset
62 void layout_bar_set(LayoutWindow *lw, GtkWidget *bar);
1309
d89f8c4d593b config file format changed to XML
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1293
diff changeset
63
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
64 void layout_bar_sort_toggle(LayoutWindow *lw);
1320
f1607e105298 improved bar_sort configuration
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1317
diff changeset
65 void layout_bar_sort_set(LayoutWindow *lw, GtkWidget *bar);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
66
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
67 void layout_bars_new_image(LayoutWindow *lw);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
68 void layout_bars_new_selection(LayoutWindow *lw, gint count);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
69
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
70 GtkWidget *layout_bars_prepare(LayoutWindow *lw, GtkWidget *image);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
71 void layout_bars_close(LayoutWindow *lw);
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
72
1293
6546ca1fea07 separated "normal" and advanced exif, "Normal" exif is now in the
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1291
diff changeset
73 void layout_exif_window_new(LayoutWindow *lw);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
74
2694
4126aaeef776 Context-sensitve help
Colin Clark <colin.clark@cclark.uk>
parents: 2623
diff changeset
75 gboolean is_help_key(GdkEventKey *event);
2739
a03b5446e68f Additional remote commands for layout windows
Colin Clark <colin.clark@cclark.uk>
parents: 2694
diff changeset
76 LayoutWindow *layout_menu_new_window(GtkAction *action, gpointer data);
a03b5446e68f Additional remote commands for layout windows
Colin Clark <colin.clark@cclark.uk>
parents: 2694
diff changeset
77 void layout_menu_close_cb(GtkAction *action, gpointer data);
2813
e9e8e8b2afce Move menu/toolbar to top of window
Colin Clark <colin.clark@cclark.uk>
parents: 2739
diff changeset
78 GtkWidget *layout_actions_menu_tool_bar(LayoutWindow *lw);
9
8d9e9edd6fdf Sync to GQview 1.5.9 release.
John Ellis <johne@verizon.net>
parents:
diff changeset
79 #endif
1055
4bbdfab3c89a Adding a vim modeline to all files - patch by Klaus Ethgen
Vladimir Nadvornik <nadvornik@suse.cz>
parents: 1043
diff changeset
80 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */