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.
static void dt_accels_disable(dt_accels_t *accels, gboolean state)
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...
void dt_accels_disconnect_active_group(dt_accels_t *accels)
Disconnect the contextual active accels group from the window.
gboolean dt_accels_dispatch(GtkWidget *w, GdkEvent *event, gpointer user_data)
Force our listener for all key strokes to bypass reserved Gtk keys.
void dt_accels_remove_shortcut(dt_accels_t *accels, const char *path)
Remove the shortcut object identified by path and all its accels.
dt_accels_t * dt_accels_init(char *config_file, GtkAccelFlags flags)
void dt_accels_cleanup(dt_accels_t *accels)
void dt_accels_search(dt_accels_t *accels, GtkWindow *main_window, GtkWidget *anchor)
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.
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....
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)
gchar * dt_accels_build_path(const gchar *scope, const gchar *feature)
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...
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...
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....
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....
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 ...
void dt_accels_detach_scroll_handler(dt_accels_t *accels)
const char ** description(struct dt_iop_module_t *self)
dt_mipmap_buffer_dsc_flags flags
struct _GtkWidget GtkWidget
const float uint32_t state[4]
GtkAccelGroup * slideshow_accels
GtkAccelGroup * map_accels
GtkAccelGroup * global_accels
GtkAccelGroup * print_accels
GtkAccelGroup * lighttable_accels
GdkModifierType default_mod_mask
GHashTable * acceleratables
GtkAccelGroup * active_group
GtkAccelGroup * darkroom_accels
GtkAccelGroup * accel_group
gboolean virtual_shortcut