virt-viewer-display: Add monitor property

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
Hans de Goede 2013-03-20 12:17:00 +01:00
parent 1a74444bb7
commit 62e0d000ce
2 changed files with 36 additions and 0 deletions

View File

@ -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;

View File

@ -115,6 +115,8 @@ guint virt_viewer_display_get_show_hint(VirtViewerDisplay *display);
VirtViewerSession* virt_viewer_display_get_session(VirtViewerDisplay *display);
void virt_viewer_display_set_auto_resize(VirtViewerDisplay *display, gboolean auto_resize);
gboolean virt_viewer_display_get_auto_resize(VirtViewerDisplay *display);
void virt_viewer_display_set_monitor(VirtViewerDisplay *display, gint monitor);
gint virt_viewer_display_get_monitor(VirtViewerDisplay *display);
void virt_viewer_display_release_cursor(VirtViewerDisplay *display);
void virt_viewer_display_close(VirtViewerDisplay *display);