Blame SOURCES/0017-hotkeys-enable-setting-zoom-hotkeys-from-a-vv-file.patch

f4fe45
From 8cc06670239ae382a3b2e17fe39f5ecfb7bfe2f9 Mon Sep 17 00:00:00 2001
f4fe45
From: Uri Lublin <uril@redhat.com>
f4fe45
Date: Tue, 8 Dec 2020 19:50:57 +0200
f4fe45
Subject: [PATCH 17/19] hotkeys: enable setting zoom hotkeys from a vv file
f4fe45
f4fe45
Signed-off-by: Uri Lublin <uril@redhat.com>
f4fe45
---
f4fe45
 src/virt-viewer-file.c | 79 ++++++++++++++++++++++++++++++++++++++++++
f4fe45
 src/virt-viewer-file.h |  7 ++++
f4fe45
 2 files changed, 86 insertions(+)
f4fe45
f4fe45
diff --git a/src/virt-viewer-file.c b/src/virt-viewer-file.c
f4fe45
index 7d2b2cb..143074f 100644
f4fe45
--- a/src/virt-viewer-file.c
f4fe45
+++ b/src/virt-viewer-file.c
f4fe45
@@ -57,6 +57,9 @@
f4fe45
  * - title: string
f4fe45
  * - toggle-fullscreen: string in spice hotkey format
f4fe45
  * - release-cursor: string in spice hotkey format
f4fe45
+ * - zoom-in: zoom in and make the client window larger
f4fe45
+ * - zoom-out: zoom out and make the client window smaller
f4fe45
+ * - zoom-reset: reset zoom and client window size
f4fe45
  * - smartcard-insert: string in spice hotkey format
f4fe45
  * - smartcard-remove: string in spice hotkey format
f4fe45
  * - secure-attention: string in spice hotkey format
f4fe45
@@ -117,6 +120,9 @@ enum  {
f4fe45
     PROP_TITLE,
f4fe45
     PROP_TOGGLE_FULLSCREEN,
f4fe45
     PROP_RELEASE_CURSOR,
f4fe45
+    PROP_ZOOM_IN,
f4fe45
+    PROP_ZOOM_OUT,
f4fe45
+    PROP_ZOOM_RESET,
f4fe45
     PROP_ENABLE_SMARTCARD,
f4fe45
     PROP_ENABLE_USBREDIR,
f4fe45
     PROP_COLOR_DEPTH,
f4fe45
@@ -514,6 +520,46 @@ virt_viewer_file_set_release_cursor(VirtViewerFile* self, const gchar* value)
f4fe45
     g_object_notify(G_OBJECT(self), "release-cursor");
f4fe45
 }
f4fe45
 
f4fe45
+gchar*
f4fe45
+virt_viewer_file_get_zoom_in(VirtViewerFile* self)
f4fe45
+{
f4fe45
+    return virt_viewer_file_get_string(self, MAIN_GROUP, "zoom-in");
f4fe45
+}
f4fe45
+
f4fe45
+void
f4fe45
+virt_viewer_file_set_zoom_in(VirtViewerFile* self, const gchar* value)
f4fe45
+{
f4fe45
+    virt_viewer_file_set_string(self, MAIN_GROUP, "zoom-in", value);
f4fe45
+    g_object_notify(G_OBJECT(self), "zoom-in");
f4fe45
+}
f4fe45
+
f4fe45
+gchar*
f4fe45
+virt_viewer_file_get_zoom_out(VirtViewerFile* self)
f4fe45
+{
f4fe45
+    return virt_viewer_file_get_string(self, MAIN_GROUP, "zoom-out");
f4fe45
+}
f4fe45
+
f4fe45
+void
f4fe45
+virt_viewer_file_set_zoom_out(VirtViewerFile* self, const gchar* value)
f4fe45
+{
f4fe45
+    virt_viewer_file_set_string(self, MAIN_GROUP, "zoom-out", value);
f4fe45
+    g_object_notify(G_OBJECT(self), "zoom-out");
f4fe45
+}
f4fe45
+
f4fe45
+gchar*
f4fe45
+virt_viewer_file_get_zoom_reset(VirtViewerFile* self)
f4fe45
+{
f4fe45
+    return virt_viewer_file_get_string(self, MAIN_GROUP, "zoom-reset");
f4fe45
+}
f4fe45
+
f4fe45
+void
f4fe45
+virt_viewer_file_set_zoom_reset(VirtViewerFile* self, const gchar* value)
f4fe45
+{
f4fe45
+    virt_viewer_file_set_string(self, MAIN_GROUP, "zoom-reset", value);
f4fe45
+    g_object_notify(G_OBJECT(self), "zoom-reset");
f4fe45
+}
f4fe45
+
f4fe45
+
f4fe45
 gchar*
f4fe45
 virt_viewer_file_get_secure_attention(VirtViewerFile* self)
f4fe45
 {
f4fe45
@@ -917,6 +963,9 @@ virt_viewer_file_fill_app(VirtViewerFile* self, VirtViewerApp *app, GError **err
f4fe45
         } accels[] = {
f4fe45
             { "release-cursor", "<virt-viewer>/view/release-cursor" },
f4fe45
             { "toggle-fullscreen", "<virt-viewer>/view/toggle-fullscreen" },
f4fe45
+            { "zoom-in", "<virt-viewer>/view/zoom-in" },
f4fe45
+            { "zoom-out", "<virt-viewer>/view/zoom-out" },
f4fe45
+            { "zoom-reset", "<virt-viewer>/view/zoom-reset" },
f4fe45
             { "smartcard-insert", "<virt-viewer>/file/smartcard-insert" },
f4fe45
             { "smartcard-remove", "<virt-viewer>/file/smartcard-remove" },
f4fe45
             { "secure-attention", "<virt-viewer>/send/secure-attention" }
f4fe45
@@ -995,6 +1044,15 @@ virt_viewer_file_set_property(GObject* object, guint property_id,
f4fe45
     case PROP_RELEASE_CURSOR:
f4fe45
         virt_viewer_file_set_release_cursor(self, g_value_get_string(value));
f4fe45
         break;
f4fe45
+    case PROP_ZOOM_IN:
f4fe45
+        virt_viewer_file_set_zoom_in(self, g_value_get_string(value));
f4fe45
+        break;
f4fe45
+    case PROP_ZOOM_OUT:
f4fe45
+        virt_viewer_file_set_zoom_out(self, g_value_get_string(value));
f4fe45
+        break;
f4fe45
+    case PROP_ZOOM_RESET:
f4fe45
+        virt_viewer_file_set_zoom_reset(self, g_value_get_string(value));
f4fe45
+        break;
f4fe45
     case PROP_SECURE_ATTENTION:
f4fe45
         virt_viewer_file_set_secure_attention(self, g_value_get_string(value));
f4fe45
         break;
f4fe45
@@ -1112,6 +1170,15 @@ virt_viewer_file_get_property(GObject* object, guint property_id,
f4fe45
     case PROP_RELEASE_CURSOR:
f4fe45
         g_value_take_string(value, virt_viewer_file_get_release_cursor(self));
f4fe45
         break;
f4fe45
+    case PROP_ZOOM_IN:
f4fe45
+        g_value_take_string(value, virt_viewer_file_get_zoom_in(self));
f4fe45
+        break;
f4fe45
+    case PROP_ZOOM_OUT:
f4fe45
+        g_value_take_string(value, virt_viewer_file_get_zoom_out(self));
f4fe45
+        break;
f4fe45
+    case PROP_ZOOM_RESET:
f4fe45
+        g_value_take_string(value, virt_viewer_file_get_zoom_reset(self));
f4fe45
+        break;
f4fe45
     case PROP_SECURE_ATTENTION:
f4fe45
         g_value_take_string(value, virt_viewer_file_get_secure_attention(self));
f4fe45
         break;
f4fe45
@@ -1255,6 +1322,18 @@ virt_viewer_file_class_init(VirtViewerFileClass* klass)
f4fe45
         g_param_spec_string("release-cursor", "release-cursor", "release-cursor", NULL,
f4fe45
                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE));
f4fe45
 
f4fe45
+    g_object_class_install_property(G_OBJECT_CLASS(klass), PROP_ZOOM_IN,
f4fe45
+        g_param_spec_string("zoom-in", "zoom-in", "zoom-in", NULL,
f4fe45
+                            G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE));
f4fe45
+
f4fe45
+    g_object_class_install_property(G_OBJECT_CLASS(klass), PROP_ZOOM_OUT,
f4fe45
+        g_param_spec_string("zoom-out", "zoom-out", "zoom-out", NULL,
f4fe45
+                            G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE));
f4fe45
+
f4fe45
+    g_object_class_install_property(G_OBJECT_CLASS(klass), PROP_ZOOM_RESET,
f4fe45
+        g_param_spec_string("zoom-reset", "zoom-reset", "zoom-reset", NULL,
f4fe45
+                            G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE));
f4fe45
+
f4fe45
     g_object_class_install_property(G_OBJECT_CLASS(klass), PROP_SECURE_ATTENTION,
f4fe45
         g_param_spec_string("secure-attention", "secure-attention", "secure-attention", NULL,
f4fe45
                             G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE));
f4fe45
diff --git a/src/virt-viewer-file.h b/src/virt-viewer-file.h
f4fe45
index 108bcbf..b0aef6d 100644
f4fe45
--- a/src/virt-viewer-file.h
f4fe45
+++ b/src/virt-viewer-file.h
f4fe45
@@ -86,6 +86,13 @@ gchar* virt_viewer_file_get_toggle_fullscreen(VirtViewerFile* self);
f4fe45
 void virt_viewer_file_set_toggle_fullscreen(VirtViewerFile* self, const gchar* value);
f4fe45
 gchar* virt_viewer_file_get_release_cursor(VirtViewerFile* self);
f4fe45
 void virt_viewer_file_set_release_cursor(VirtViewerFile* self, const gchar* value);
f4fe45
+gchar* virt_viewer_file_get_zoom_in(VirtViewerFile* self);
f4fe45
+void virt_viewer_file_set_zoom_in(VirtViewerFile* self, const gchar* value);
f4fe45
+gchar* virt_viewer_file_get_zoom_out(VirtViewerFile* self);
f4fe45
+void virt_viewer_file_set_zoom_out(VirtViewerFile* self, const gchar* value);
f4fe45
+gchar* virt_viewer_file_get_zoom_reset(VirtViewerFile* self);
f4fe45
+void virt_viewer_file_set_zoom_reset(VirtViewerFile* self, const gchar* value);
f4fe45
+
f4fe45
 gint virt_viewer_file_get_enable_smartcard(VirtViewerFile* self);
f4fe45
 void virt_viewer_file_set_enable_smartcard(VirtViewerFile* self, gint value);
f4fe45
 gint virt_viewer_file_get_enable_usbredir(VirtViewerFile* self);
f4fe45
-- 
f4fe45
2.29.2
f4fe45