summaryrefslogtreecommitdiffstats
path: root/src/virt-viewer-display.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2013-03-20 12:17:00 +0100
committerHans de Goede <hdegoede@redhat.com>2013-03-20 15:26:47 +0100
commit62e0d000ce7785bc22af2dfead9b0ff0aa753129 (patch)
treea865ed68fb74d9bc02b360b5ecb73abf1b90fe10 /src/virt-viewer-display.c
parent1a74444bb7df2a9904c83f547570cf06a53cca14 (diff)
downloadvirt-viewer-62e0d000ce7785bc22af2dfead9b0ff0aa753129.tar.gz
virt-viewer-62e0d000ce7785bc22af2dfead9b0ff0aa753129.tar.xz
virt-viewer-62e0d000ce7785bc22af2dfead9b0ff0aa753129.zip
virt-viewer-display: Add monitor property
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'src/virt-viewer-display.c')
-rw-r--r--src/virt-viewer-display.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c
index 099ac76..dda9f77 100644
--- a/src/virt-viewer-display.c
+++ b/src/virt-viewer-display.c
@@ -41,6 +41,7 @@ struct _VirtViewerDisplayPrivate
guint zoom_level;
gboolean zoom;
gint nth_display;
+ gint monitor;
guint show_hint;
VirtViewerSession *session;
gboolean auto_resize;
@@ -81,6 +82,7 @@ enum {
PROP_SHOW_HINT,
PROP_SESSION,
PROP_SELECTABLE,
+ PROP_MONITOR,
};
static void
@@ -176,6 +178,17 @@ virt_viewer_display_class_init(VirtViewerDisplayClass *class)
FALSE,
G_PARAM_READABLE));
+ g_object_class_install_property(object_class,
+ PROP_MONITOR,
+ g_param_spec_int("monitor",
+ "Monitor",
+ "Display Monitor",
+ -1,
+ G_MAXINT32,
+ -1,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT));
+
g_signal_new("display-pointer-grab",
G_OBJECT_CLASS_TYPE(object_class),
G_SIGNAL_RUN_LAST | G_SIGNAL_NO_HOOKS,
@@ -278,6 +291,9 @@ virt_viewer_display_set_property(GObject *object,
g_warn_if_fail(priv->session == NULL);
priv->session = g_value_get_object(value);
break;
+ case PROP_MONITOR:
+ priv->monitor = g_value_get_int(value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -313,6 +329,9 @@ virt_viewer_display_get_property(GObject *object,
case PROP_SELECTABLE:
g_value_set_boolean(value, virt_viewer_display_get_selectable(display));
break;
+ case PROP_MONITOR:
+ g_value_set_int(value, priv->monitor);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -601,6 +620,21 @@ gboolean virt_viewer_display_get_auto_resize(VirtViewerDisplay *self)
return self->priv->auto_resize;
}
+void virt_viewer_display_set_monitor(VirtViewerDisplay *self, gint monitor)
+{
+ g_return_if_fail(VIRT_VIEWER_IS_DISPLAY(self));
+
+ self->priv->monitor = monitor;
+ g_object_notify(G_OBJECT(self), "monitor");
+}
+
+gint virt_viewer_display_get_monitor(VirtViewerDisplay *self)
+{
+ g_return_val_if_fail(VIRT_VIEWER_IS_DISPLAY(self), -1);
+
+ return self->priv->monitor;
+}
+
void virt_viewer_display_release_cursor(VirtViewerDisplay *self)
{
VirtViewerDisplayClass *klass;