[pve-devel] [PATCH v3 manager 3/3] ui: vm-options: add spice enhancements

Aaron Lauterer a.lauterer at proxmox.com
Fri Oct 4 12:09:14 CEST 2019


Signed-off-by: Aaron Lauterer <a.lauterer at 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





More information about the pve-devel mailing list