Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com>
---
removing the check if values is true and changing the parameters in
parsePropertyString to `parsePropertyString(values || {})` as suggested
in [0] does not work.
parsePropertyString expects a string. Passing anything except a string
containing a `key=value` (there is no default key for this option)
results in warning and errors in the JS console.

Therefore I kept the old checks.

[0]: https://pve.proxmox.com/pipermail/pve-devel/2019-September/039054.html

www/manager6/Utils.js        | 21 +++++++++++++++++++++
 www/manager6/qemu/Options.js | 14 ++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
index 5cc6b674..be568070 100644
--- a/www/manager6/Utils.js
+++ b/www/manager6/Utils.js
@@ -334,6 +334,27 @@ Ext.define('PVE.Utils', { utilities: {
        }
     },
 
+    render_spice_enhancements: function(values) {
+       let disabled = Proxmox.Utils.disabledText;
+
+       if (!values) {
+           return disabled;
+       }
+       let props = PVE.Parser.parsePropertyString(values);
+       if (Ext.Object.isEmpty(props)) {
+           return disabled;
+       }
+
+       let output = [];
+       if (PVE.Parser.parseBoolean(props.foldersharing)) {
+           output.push(gettext("Folder sharing enabled"));
+       }
+       if (props.videostreaming === "all" || props.videostreaming === 
"filter") {
+           output.push(gettext("Video Streaming") + ": " + 
props.videostreaming);
+       }
+       return output.join(", ");
+    },
+
     // fixme: auto-generate this
     // for now, please keep in sync with PVE::Tools::kvmkeymaps
     kvm_keymaps: {
diff --git a/www/manager6/qemu/Options.js b/www/manager6/qemu/Options.js
index e1580060..4a8e06e9 100644
--- a/www/manager6/qemu/Options.js
+++ b/www/manager6/qemu/Options.js
@@ -281,6 +281,20 @@ Ext.define('PVE.qemu.Options', {
                    }
                } : undefined
            },
+           spice_enhancements: {
+               header: gettext('Spice Enhancements'),
+               defaultValue: false,
+               renderer:  PVE.Utils.render_spice_enhancements,
+               editor: caps.vms['VM.Config.Options'] ? {
+                   xtype: 'proxmoxWindowEdit',
+                   subject: gettext('Spice Enhancements'),
+                   onlineHelp: 'qm_spice_enhancements',
+                   items: {
+                       xtype: 'pveSpiceEnhancementSelector',
+                       name: 'spice_enhancements',
+                   }
+               } : undefined
+           },
            hookscript: {
                header: gettext('Hookscript')
            }
-- 
2.20.1


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to