[geany/geany-plugins] e2c919: vimode: Use dedicated Geany key-press signal instead of key-press-event
Jiří Techet
git-noreply at xxxxx
Mon May 28 18:12:18 UTC 2018
Branch: refs/heads/master
Author: Jiří Techet <techet at gmail.com>
Committer: Jiří Techet <techet at gmail.com>
Date: Wed, 25 Apr 2018 13:16:35 UTC
Commit: e2c9197b2a15dfe4dfaa315bcd16fd5c3f523c98
https://github.com/geany/geany-plugins/commit/e2c9197b2a15dfe4dfaa315bcd16fd5c3f523c98
Log Message:
-----------
vimode: Use dedicated Geany key-press signal instead of key-press-event
Modified Paths:
--------------
vimode/src/backends/backend-geany.c
Modified: vimode/src/backends/backend-geany.c
30 lines changed, 13 insertions(+), 17 deletions(-)
===================================================================
@@ -193,11 +193,24 @@ static gboolean on_editor_notify(GObject *object, GeanyEditor *editor,
}
+static gboolean on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
+{
+ GeanyDocument *doc = document_get_current();
+ ScintillaObject *sci = doc != NULL ? doc->editor->sci : NULL;
+
+ if (!sci || gtk_window_get_focus(GTK_WINDOW(geany->main_widgets->window)) != GTK_WIDGET(sci))
+ return FALSE;
+
+ return vi_notify_key_press(event);
+}
+
+
PluginCallback plugin_callbacks[] = {
{"document-open", (GCallback) &on_doc_open, TRUE, NULL},
{"document-activate", (GCallback) &on_doc_activate, TRUE, NULL},
{"document-close", (GCallback) &on_doc_close, TRUE, NULL},
{"editor-notify", (GCallback) &on_editor_notify, TRUE, NULL},
+ {"key-press", (GCallback) &on_key_press, TRUE, NULL},
{NULL, NULL, FALSE, NULL}
};
@@ -263,18 +276,6 @@ static void on_quit(gboolean force)
}
-static gboolean on_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
-{
- GeanyDocument *doc = document_get_current();
- ScintillaObject *sci = doc != NULL ? doc->editor->sci : NULL;
-
- if (!sci || gtk_window_get_focus(GTK_WINDOW(geany->main_widgets->window)) != GTK_WIDGET(sci))
- return FALSE;
-
- return vi_notify_key_press(event);
-}
-
-
void plugin_init(GeanyData *data)
{
GeanyDocument *doc = document_get_current();
@@ -324,18 +325,13 @@ void plugin_init(GeanyData *data)
if (doc)
vi_set_active_sci(doc->editor->sci);
-
- g_signal_connect(geany_data->main_widgets->window, "key-press-event",
- G_CALLBACK(on_key_press_cb), NULL);
}
void plugin_cleanup(void)
{
vi_cleanup();
gtk_widget_destroy(menu_items.parent_item);
- g_signal_handlers_disconnect_by_func(geany_data->main_widgets->window,
- G_CALLBACK(on_key_press_cb), NULL);
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Plugins-Commits
mailing list