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"
236 guint key_val, GdkModifierType accel_mods);
240 gboolean (*action_callback)(GtkAccelGroup *group,
241 GObject *acceleratable, guint keyval,
242 GdkModifierType mods, gpointer user_data),
243 gpointer data, GtkAccelGroup *accel_group,
const gchar *action_scope,
244 const gchar *action_name);
260 GtkAccelGroup *accel_group,
const gchar *accel_path, guint key_val,
261 GdkModifierType accel_mods,
const gboolean lock);
289 gboolean (*action_callback)(GtkAccelGroup *group, GObject *acceleratable,
290 guint keyval, GdkModifierType mods,
292 gpointer data, GtkAccelGroup *accel_group,
const gchar *action_scope,
293 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:793
static void dt_accels_disable(dt_accels_t *accels, gboolean state)
Definition accelerators.h:323
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:376
void dt_accels_disconnect_active_group(dt_accels_t *accels)
Disconnect the contextual active accels group from the window.
Definition accelerators.c:397
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:1042
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:846
dt_accels_t * dt_accels_init(char *config_file, GtkAccelFlags flags)
Definition accelerators.c:326
void dt_accels_cleanup(dt_accels_t *accels)
Definition accelerators.c:352
dt_shortcut_type_t
Definition accelerators.h:158
@ DT_SHORTCUT_UNSET
Definition accelerators.h:159
@ DT_SHORTCUT_USER
Definition accelerators.h:161
@ DT_SHORTCUT_DEFAULT
Definition accelerators.h:160
void dt_accels_search(dt_accels_t *accels, GtkWindow *main_window, GtkWidget *anchor)
Definition accelerators.c:1964
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:1532
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:556
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:591
gchar * dt_accels_build_path(const gchar *scope, const gchar *feature)
Definition accelerators.c:854
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:831
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:741
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:631
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:686
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:1094
void dt_accels_detach_scroll_handler(dt_accels_t *accels)
Definition accelerators.c:1100
const char ** description(struct dt_iop_module_t *self)
Definition ashift.c:159
dt_mipmap_buffer_dsc_flags flags
Definition mipmap_cache.c:4
struct _GtkWidget GtkWidget
Definition splash.h:29
Definition accelerators.h:120
GtkAccelFlags flags
Definition accelerators.h:144
gboolean disable_accels
Definition accelerators.h:142
GdkKeymap * keymap
Definition accelerators.h:132
gboolean init
Definition accelerators.h:136
GtkAccelKey active_key
Definition accelerators.h:139
GtkAccelGroup * global_accels
Definition accelerators.h:122
GtkAccelGroup * lighttable_accels
Definition accelerators.h:124
GdkModifierType default_mod_mask
Definition accelerators.h:133
char * config_file
Definition accelerators.h:121
dt_pthread_mutex_t lock
Definition accelerators.h:146
GHashTable * acceleratables
Definition accelerators.h:130
GtkAccelGroup * active_group
Definition accelerators.h:128
GtkAccelGroup * darkroom_accels
Definition accelerators.h:123
gint reset
Definition accelerators.h:131
Definition accelerators.h:165
GdkModifierType mods
Definition accelerators.h:172
GtkAccelGroup * accel_group
Definition accelerators.h:170
GList * closure
Definition accelerators.h:167
gboolean locked
Definition accelerators.h:174
dt_shortcut_type_t type
Definition accelerators.h:173
dt_accels_t * accels
Definition accelerators.h:177
GtkWidget * widget
Definition accelerators.h:166
gboolean virtual_shortcut
Definition accelerators.h:175
const char * signal
Definition accelerators.h:169
char * path
Definition accelerators.h:168
guint key
Definition accelerators.h:171
const char * description
Definition accelerators.h:176