diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-07-17 16:31:44 +0200 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-07-23 16:27:33 +0200 |
commit | 6f9c7a624e406cf1b9e89da558937e6d91b4daa4 (patch) | |
tree | cb6f427d9db51fd8726c328f4636c466c3cd8da0 /src/virt-viewer-display.c | |
parent | 37c30a45698aaa20623e91d85e304db01a4cb294 (diff) | |
download | virt-viewer-6f9c7a624e406cf1b9e89da558937e6d91b4daa4.tar.gz virt-viewer-6f9c7a624e406cf1b9e89da558937e6d91b4daa4.tar.xz virt-viewer-6f9c7a624e406cf1b9e89da558937e6d91b4daa4.zip |
Add VirtViewerDisplay::selectable property
This property will be set when the display can be selected to be
"enabled" and shown (this can involve creating/connecting an
additional guest monitor, and may need guest agent cooperation for
example).
Diffstat (limited to 'src/virt-viewer-display.c')
-rw-r--r-- | src/virt-viewer-display.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c index 18fed19..8d13733 100644 --- a/src/virt-viewer-display.c +++ b/src/virt-viewer-display.c @@ -80,6 +80,7 @@ enum { PROP_ZOOM_LEVEL, PROP_SHOW_HINT, PROP_SESSION, + PROP_SELECTABLE, }; static void @@ -167,6 +168,13 @@ virt_viewer_display_class_init(VirtViewerDisplayClass *class) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property(object_class, + PROP_SELECTABLE, + g_param_spec_boolean("selectable", + "Selectable", + "Selectable", + FALSE, + G_PARAM_READABLE)); g_signal_new("display-pointer-grab", G_OBJECT_CLASS_TYPE(object_class), @@ -302,6 +310,9 @@ virt_viewer_display_get_property(GObject *object, case PROP_SESSION: g_value_set_object(value, virt_viewer_display_get_session(display)); break; + case PROP_SELECTABLE: + g_value_set_boolean(value, virt_viewer_display_get_selectable(display)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -601,6 +612,18 @@ void virt_viewer_display_release_cursor(VirtViewerDisplay *self) klass->release_cursor(self); } +gboolean virt_viewer_display_get_selectable(VirtViewerDisplay *self) +{ + VirtViewerDisplayClass *klass; + + g_return_val_if_fail(VIRT_VIEWER_IS_DISPLAY(self), FALSE); + + klass = VIRT_VIEWER_DISPLAY_GET_CLASS(self); + if (klass->selectable) + return klass->selectable(self); + + return TRUE; +} void virt_viewer_display_close(VirtViewerDisplay *self) { |