31#include <gdk/gdkkeysyms.h>
33#ifdef GDK_WINDOWING_WAYLAND
34#include <gdk/gdkwayland.h>
39#define DT_ACCELS_WIDGET_SHORTCUT_KEY "dt-accel-shortcut"
40#define DT_ACCELS_WIDGET_TOOLTIP_DISABLED_KEY "dt-accel-tooltip-disabled"
239 guint key_val, GdkModifierType accel_mods);
243 gboolean (*action_callback)(GtkAccelGroup *group,
244 GObject *acceleratable, guint keyval,
245 GdkModifierType mods, gpointer user_data),
246 gpointer data, GtkAccelGroup *accel_group,
const gchar *action_scope,
247 const gchar *action_name);
263 GtkAccelGroup *accel_group,
const gchar *accel_path, guint key_val,
264 GdkModifierType accel_mods,
const gboolean lock);
292 gboolean (*action_callback)(GtkAccelGroup *group, GObject *acceleratable,
293 guint keyval, GdkModifierType mods,
295 gpointer data, GtkAccelGroup *accel_group,
const gchar *action_scope,
296 const gchar *action_name, guint key_val, GdkModifierType accel_mods,
void dt_accels_connect_accels(dt_accels_t *accels)
Actually enable accelerators after having loaded user config.
Definition accelerators.c:821
static void dt_accels_disable(dt_accels_t *accels, gboolean state)
Definition accelerators.h:326
void dt_accels_connect_active_group(dt_accels_t *accels, const gchar *group)
Connect the contextual active accels group to the window. Views can declare their own set of contextu...
Definition accelerators.c:386
void dt_accels_disconnect_active_group(dt_accels_t *accels)
Disconnect the contextual active accels group from the window.
Definition accelerators.c:422
gboolean dt_accels_dispatch(GtkWidget *w, GdkEvent *event, gpointer user_data)
Force our listener for all key strokes to bypass reserved Gtk keys.
Definition accelerators.c:1070
void dt_accels_remove_shortcut(dt_accels_t *accels, const char *path)
Remove the shortcut object identified by path and all its accels.
Definition accelerators.c:874
dt_accels_t * dt_accels_init(char *config_file, GtkAccelFlags flags)
Definition accelerators.c:327
void dt_accels_cleanup(dt_accels_t *accels)
Definition accelerators.c:356
dt_shortcut_type_t
Definition accelerators.h:161
@ DT_SHORTCUT_UNSET
Definition accelerators.h:162
@ DT_SHORTCUT_USER
Definition accelerators.h:164
@ DT_SHORTCUT_DEFAULT
Definition accelerators.h:163
void dt_accels_search(dt_accels_t *accels, GtkWindow *main_window, GtkWidget *anchor)
Definition accelerators.c:2019
void dt_accels_window(dt_accels_t *accels, GtkWindow *main_window)
Show the modal dialog listing all available keyboard shortcuts and letting user to set them.
Definition accelerators.c:1586
void dt_accels_new_virtual_shortcut(dt_accels_t *accels, GtkAccelGroup *accel_group, const gchar *accel_path, GtkWidget *widget, guint key_val, GdkModifierType accel_mods)
Add a new virtual shortcut. Virtual shortcuts are immutable, read-only and don't trigger any action....
Definition accelerators.c:582
void dt_accels_new_virtual_instance_shortcut(dt_accels_t *accels, gboolean(*action_callback)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data), gpointer data, GtkAccelGroup *accel_group, const gchar *action_scope, const gchar *action_name)
Definition accelerators.c:617
gchar * dt_accels_build_path(const gchar *scope, const gchar *feature)
Definition accelerators.c:882
void dt_accels_remove_accel(dt_accels_t *accels, const char *path, gpointer data)
Recursively remove all accels for all shortcuts containing path. This is unneeded for accels attached...
Definition accelerators.c:859
void dt_accels_load_user_config(dt_accels_t *accels)
Loads keyboardrc.lang from config dir. This needs to run after we inited the accel map from widgets c...
Definition accelerators.c:769
void dt_accels_new_widget_shortcut(dt_accels_t *accels, GtkWidget *widget, const gchar *signal, GtkAccelGroup *accel_group, const gchar *accel_path, guint key_val, GdkModifierType accel_mods, const gboolean lock)
Register a new shortcut for a widget, setting up its path, default keys and accel group....
Definition accelerators.c:657
void dt_accels_new_action_shortcut(dt_accels_t *accels, gboolean(*action_callback)(GtkAccelGroup *group, GObject *acceleratable, guint keyval, GdkModifierType mods, gpointer user_data), gpointer data, GtkAccelGroup *accel_group, const gchar *action_scope, const gchar *action_name, guint key_val, GdkModifierType accel_mods, const gboolean lock, const char *description)
Register a new shortcut for a generic action, setting up its path, default keys and accel group....
Definition accelerators.c:712
void dt_accels_attach_scroll_handler(dt_accels_t *accels, gboolean(*callback)(GdkEventScroll event, void *data), void *data)
Attach a new global scroll event callback. So far this is used in darkroom to redirect scroll events ...
Definition accelerators.c:1128
void dt_accels_detach_scroll_handler(dt_accels_t *accels)
Definition accelerators.c:1134
const char ** description(struct dt_iop_module_t *self)
Definition ashift.c:160
dt_mipmap_buffer_dsc_flags flags
Definition mipmap_cache.c:4
struct _GtkWidget GtkWidget
Definition splash.h:29
const float uint32_t state[4]
Definition src/develop/noise_generator.h:72
Definition accelerators.h:120
GtkAccelFlags flags
Definition accelerators.h:147
gboolean disable_accels
Definition accelerators.h:145
GdkKeymap * keymap
Definition accelerators.h:135
gboolean init
Definition accelerators.h:139
GtkAccelGroup * slideshow_accels
Definition accelerators.h:127
GtkAccelKey active_key
Definition accelerators.h:142
GtkAccelGroup * map_accels
Definition accelerators.h:125
GtkAccelGroup * global_accels
Definition accelerators.h:122
GtkAccelGroup * print_accels
Definition accelerators.h:126
GtkAccelGroup * lighttable_accels
Definition accelerators.h:124
GdkModifierType default_mod_mask
Definition accelerators.h:136
char * config_file
Definition accelerators.h:121
dt_pthread_mutex_t lock
Definition accelerators.h:149
GHashTable * acceleratables
Definition accelerators.h:133
GtkAccelGroup * active_group
Definition accelerators.h:131
GtkAccelGroup * darkroom_accels
Definition accelerators.h:123
gint reset
Definition accelerators.h:134
Definition accelerators.h:168
GdkModifierType mods
Definition accelerators.h:175
GtkAccelGroup * accel_group
Definition accelerators.h:173
GList * closure
Definition accelerators.h:170
gboolean locked
Definition accelerators.h:177
dt_shortcut_type_t type
Definition accelerators.h:176
dt_accels_t * accels
Definition accelerators.h:180
GtkWidget * widget
Definition accelerators.h:169
gboolean virtual_shortcut
Definition accelerators.h:178
const char * signal
Definition accelerators.h:172
char * path
Definition accelerators.h:171
guint key
Definition accelerators.h:174
const char * description
Definition accelerators.h:179