diff options
author | David Härdeman <david@hardeman.nu> | 2015-08-19 20:56:38 +0200 |
---|---|---|
committer | David Härdeman <david@hardeman.nu> | 2015-08-19 20:56:38 +0200 |
commit | 09c3b53ad8795e050b72277968fd50591bbb3a7f (patch) | |
tree | d83bcf26ec55ce585de3a86dd95bd17fe9861e4a /rcm-client-main.c | |
parent | f3f7d5445e6f64a7c946f6e0144452952f0809e8 (diff) |
Add support for editing in-kernel keymap
Diffstat (limited to 'rcm-client-main.c')
-rw-r--r-- | rcm-client-main.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/rcm-client-main.c b/rcm-client-main.c index 420ab6c..3595722 100644 --- a/rcm-client-main.c +++ b/rcm-client-main.c @@ -165,6 +165,21 @@ create_header_button(GtkHeaderBar *header, const gchar *tooltip, return button; } +gulong +_g_signal_replace(gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer data, GConnectFlags flags) +{ + g_signal_handlers_disconnect_matched(instance, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, c_handler, NULL); + return g_signal_connect_data(instance, detailed_signal, c_handler, data, NULL, flags); +} + +gulong +_g_signal_replace_id(const gchar *widget_id, const gchar *detailed_signal, GCallback c_handler, gpointer data, GConnectFlags flags) +{ + GObject *w = G_OBJECT(gtk_builder_get_object(global->builder, widget_id)); + + return w ? _g_signal_replace(w, detailed_signal, c_handler, data, flags) : 0; +} + int main(int argc, char *argv[]) { GtkCssProvider *css; |