From 09ee7d32207f895d0e438a694f07b289e44f3e6d Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 11 Oct 2011 10:12:05 +0100 Subject: [PATCH] Wire up SpiceDisplay grab signals To ensure that we can put the key release sequence message in the title bar, wire up VirtViewerDisplaySpice to the grab signals in SpiceDisplay --- src/virt-viewer-display-spice.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/virt-viewer-display-spice.c b/src/virt-viewer-display-spice.c index 1a056f8..39f77b9 100644 --- a/src/virt-viewer-display-spice.c +++ b/src/virt-viewer-display-spice.c @@ -126,6 +126,30 @@ primary_create(SpiceChannel *channel G_GNUC_UNUSED, } +static void +virt_viewer_display_spice_keyboard_grab(SpiceDisplay *display G_GNUC_UNUSED, + int grabbed, + VirtViewerDisplaySpice *self) +{ + if (grabbed) + g_signal_emit_by_name(self, "display-keyboard-grab"); + else + g_signal_emit_by_name(self, "display-keyboard-ungrab"); +} + + +static void +virt_viewer_display_spice_mouse_grab(SpiceDisplay *display G_GNUC_UNUSED, + int grabbed, + VirtViewerDisplaySpice *self) +{ + if (grabbed) + g_signal_emit_by_name(self, "display-pointer-grab"); + else + g_signal_emit_by_name(self, "display-pointer-ungrab"); +} + + GtkWidget * virt_viewer_display_spice_new(SpiceChannel *channel, SpiceDisplay *display) @@ -159,6 +183,13 @@ virt_viewer_display_spice_new(SpiceChannel *channel, "auto-clipboard", TRUE, NULL); + g_signal_connect(self->priv->display, + "keyboard-grab", + G_CALLBACK(virt_viewer_display_spice_keyboard_grab), self); + g_signal_connect(self->priv->display, + "mouse-grab", + G_CALLBACK(virt_viewer_display_spice_mouse_grab), self); + return GTK_WIDGET(self); }