commit 2d149f0dc7cf6ea2766179f832b75c209c57a609
parent 17a4c177501e716d66d7ec15a1f0a17af638dbcb
Author: MikoĊaj Lenczewski <mblenczewski@gmail.com>
Date: Thu, 25 Apr 2024 15:49:59 +0000
Move key event controller from root window to webview
Diffstat:
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/webview.c b/webview.c
@@ -49,13 +49,11 @@ browse_new(char const *uri, struct browse_client *root)
if (!self) return NULL;
self->window = GTK_WINDOW(gtk_window_new());
- self->event_handler = gtk_event_controller_key_new();
-
- gtk_widget_add_controller(GTK_WIDGET(self->window), self->event_handler);
- g_signal_connect(self->event_handler, "key-pressed", G_CALLBACK(event_controller_on_key_pressed), self);
g_signal_connect(self->window, "destroy", G_CALLBACK(window_on_destroy), self);
+ self->event_handler = gtk_event_controller_key_new();
+
self->clipboard = gtk_widget_get_primary_clipboard(GTK_WIDGET(self->window));
if (root) {
@@ -64,6 +62,10 @@ browse_new(char const *uri, struct browse_client *root)
self->webview = WEBKIT_WEB_VIEW(webkit_web_view_new());
}
+ g_signal_connect(self->event_handler, "key-pressed", G_CALLBACK(event_controller_on_key_pressed), self);
+
+ gtk_widget_add_controller(GTK_WIDGET(self->webview), self->event_handler);
+
self->webnetsession = webkit_web_view_get_network_session(self->webview);
g_signal_connect(self->webview, "load-changed", G_CALLBACK(webview_on_load_changed), self);