[Spice-devel] [PATCH spice-gtk 1/2] gtk-session: add pointer-grabbed property
Christophe Fergeau
cfergeau at redhat.com
Tue Nov 4 04:15:24 PST 2014
ACK.
On Mon, Nov 03, 2014 at 01:56:30PM +0100, Marc-André Lureau wrote:
> Returns TRUE if the pointer is currently grabbed by this session.
> ---
> gtk/spice-gtk-session-priv.h | 2 ++
> gtk/spice-gtk-session.c | 38 ++++++++++++++++++++++++++++++++++++++
> 2 files changed, 40 insertions(+)
>
> diff --git a/gtk/spice-gtk-session-priv.h b/gtk/spice-gtk-session-priv.h
> index 48482b6..91304b2 100644
> --- a/gtk/spice-gtk-session-priv.h
> +++ b/gtk/spice-gtk-session-priv.h
> @@ -26,6 +26,8 @@ void spice_gtk_session_request_auto_usbredir(SpiceGtkSession *self,
> gboolean state);
> gboolean spice_gtk_session_get_read_only(SpiceGtkSession *self);
> void spice_gtk_session_sync_keyboard_modifiers(SpiceGtkSession *self);
> +void spice_gtk_session_set_pointer_grabbed(SpiceGtkSession *self, gboolean grabbed);
> +gboolean spice_gtk_session_get_pointer_grabbed(SpiceGtkSession *self);
>
> G_END_DECLS
>
> diff --git a/gtk/spice-gtk-session.c b/gtk/spice-gtk-session.c
> index 85872c4..52ad597 100644
> --- a/gtk/spice-gtk-session.c
> +++ b/gtk/spice-gtk-session.c
> @@ -63,6 +63,7 @@ struct _SpiceGtkSessionPrivate {
> /* auto-usbredir related */
> gboolean auto_usbredir_enable;
> int auto_usbredir_reqs;
> + gboolean pointer_grabbed;
> };
>
> /**
> @@ -115,6 +116,7 @@ enum {
> PROP_SESSION,
> PROP_AUTO_CLIPBOARD,
> PROP_AUTO_USBREDIR,
> + PROP_POINTER_GRABBED,
> };
>
> static guint32 get_keyboard_lock_modifiers(void)
> @@ -311,6 +313,9 @@ static void spice_gtk_session_get_property(GObject *gobject,
> case PROP_AUTO_USBREDIR:
> g_value_set_boolean(value, s->auto_usbredir_enable);
> break;
> + case PROP_POINTER_GRABBED:
> + g_value_set_boolean(value, s->pointer_grabbed);
> + break;
> default:
> G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, pspec);
> break;
> @@ -430,6 +435,22 @@ static void spice_gtk_session_class_init(SpiceGtkSessionClass *klass)
> G_PARAM_CONSTRUCT |
> G_PARAM_STATIC_STRINGS));
>
> + /**
> + * SpiceGtkSession:pointer-grabbed:
> + *
> + * Returns %TRUE if the pointer is currently grabbed by this session.
> + *
> + * Since: 0.27
> + **/
> + g_object_class_install_property
> + (gobject_class, PROP_POINTER_GRABBED,
> + g_param_spec_boolean("pointer-grabbed",
> + "Pointer grabbed",
> + "Whether the pointer is grabbed",
> + FALSE,
> + G_PARAM_READABLE |
> + G_PARAM_STATIC_STRINGS));
> +
> g_type_class_add_private(klass, sizeof(SpiceGtkSessionPrivate));
> }
>
> @@ -1157,3 +1178,20 @@ void spice_gtk_session_sync_keyboard_modifiers(SpiceGtkSession *self)
> }
> g_list_free(channels);
> }
> +
> +G_GNUC_INTERNAL
> +void spice_gtk_session_set_pointer_grabbed(SpiceGtkSession *self, gboolean grabbed)
> +{
> + g_return_if_fail(SPICE_IS_GTK_SESSION(self));
> +
> + self->priv->pointer_grabbed = grabbed;
> + g_object_notify(G_OBJECT(self), "pointer-grabbed");
> +}
> +
> +G_GNUC_INTERNAL
> +gboolean spice_gtk_session_get_pointer_grabbed(SpiceGtkSession *self)
> +{
> + g_return_val_if_fail(SPICE_IS_GTK_SESSION(self), FALSE);
> +
> + return self->priv->pointer_grabbed;
> +}
> --
> 1.9.3
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20141104/5aa03756/attachment.sig>
More information about the Spice-devel
mailing list