[virt-tools-list] [PATCH virt-viewer 1/3] display: add can-auto-resize property
Marc-André Lureau
marcandre.lureau at gmail.com
Wed Mar 12 16:42:02 UTC 2014
Add a property to tell whether the guest will auto-resize. Default to FALSE
---
src/virt-viewer-display.c | 25 +++++++++++++++++++++++++
src/virt-viewer-display.h | 2 ++
2 files changed, 27 insertions(+)
diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c
index feefcca..ace124a 100644
--- a/src/virt-viewer-display.c
+++ b/src/virt-viewer-display.c
@@ -90,6 +90,7 @@ enum {
PROP_SESSION,
PROP_SELECTABLE,
PROP_MONITOR,
+ PROP_CAN_AUTO_RESIZE,
};
static void
@@ -205,6 +206,14 @@ virt_viewer_display_class_init(VirtViewerDisplayClass *class)
FALSE,
G_PARAM_READABLE));
+ g_object_class_install_property(object_class,
+ PROP_CAN_AUTO_RESIZE,
+ g_param_spec_boolean("can-auto-resize",
+ "Can auto-resize",
+ "Can resize automatically remote desktop",
+ FALSE,
+ G_PARAM_READABLE));
+
g_signal_new("display-pointer-grab",
G_OBJECT_CLASS_TYPE(object_class),
G_SIGNAL_RUN_LAST | G_SIGNAL_NO_HOOKS,
@@ -357,6 +366,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_CAN_AUTO_RESIZE:
+ g_value_set_boolean(value, virt_viewer_display_can_auto_resize(display));
+ break;
case PROP_MONITOR:
g_value_set_int(value, priv->monitor);
break;
@@ -831,6 +843,19 @@ void virt_viewer_display_get_preferred_monitor_geometry(VirtViewerDisplay* self,
}
}
+gboolean virt_viewer_display_can_auto_resize(VirtViewerDisplay *self)
+{
+ VirtViewerDisplayClass *klass;
+
+ g_return_val_if_fail(VIRT_VIEWER_IS_DISPLAY(self), FALSE);
+
+ klass = VIRT_VIEWER_DISPLAY_GET_CLASS(self);
+ if (klass->can_auto_resize)
+ return klass->can_auto_resize(self);
+
+ return FALSE;
+}
+
/*
* Local variables:
* c-indent-level: 4
diff --git a/src/virt-viewer-display.h b/src/virt-viewer-display.h
index 195eeee..d425841 100644
--- a/src/virt-viewer-display.h
+++ b/src/virt-viewer-display.h
@@ -79,6 +79,7 @@ struct _VirtViewerDisplayClass {
void (*close)(VirtViewerDisplay *display);
gboolean (*selectable)(VirtViewerDisplay *display);
+ gboolean (*can_auto_resize)(VirtViewerDisplay *display);
/* signals */
void (*display_pointer_grab)(VirtViewerDisplay *display);
@@ -128,6 +129,7 @@ gboolean virt_viewer_display_get_enabled(VirtViewerDisplay *display);
gboolean virt_viewer_display_get_selectable(VirtViewerDisplay *display);
void virt_viewer_display_queue_resize(VirtViewerDisplay *display);
void virt_viewer_display_get_preferred_monitor_geometry(VirtViewerDisplay *self, GdkRectangle* preferred);
+gboolean virt_viewer_display_can_auto_resize(VirtViewerDisplay *display);
G_END_DECLS
--
1.8.5.3
More information about the virt-tools-list
mailing list