[pve-devel] [PATCH manager 3/4] spice: Add enhancements to VM Options panel
Stefan Reiter
s.reiter at proxmox.com
Mon Sep 16 14:44:25 CEST 2019
On 9/13/19 3:16 PM, Aaron Lauterer wrote:
> Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
> ---
> www/manager6/Utils.js | 18 ++++++++++++++++++
> www/manager6/qemu/Options.js | 13 +++++++++++++
> 2 files changed, 31 insertions(+)
>
> diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
> index 6a489e7e..139200c3 100644
> --- a/www/manager6/Utils.js
> +++ b/www/manager6/Utils.js
> @@ -334,6 +334,24 @@ Ext.define('PVE.Utils', { utilities: {
> }
> },
>
> + render_spice_enhancements: function(value) {
> + if (!value) {
> + return Proxmox.Utils.disabledText;
> + }
> + var props = PVE.Parser.parsePropertyString(value);
> + if (Ext.Object.isEmpty(props)) {
> + return Proxmox.Utils.disabledText;
> + }
> + var ret = [];
> + if (props.foldersharing === "1") {
I don't think '=== "1"' catches all cases here, USBEdit.js for example
contains a check like this:
if (/^usb3=(1|on|true)$/.test(data[i])) {
...
}
while our JSONSchema parser even accepts "yes" in addition to the ones
above.
Maybe a common Regex/helper like "parse_boolean" in JSONSchema.pm would
be useful in JS too?
> + ret.push("Folder sharing enabled");
These...
> + }
> + if (props.videostreaming === "all" || props.videostreaming === "filter") {
> + ret.push("Video Streaming: " + props.videostreaming);
...need localization (gettext), since not language independent.
> + } > + return ret.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..96eb0499 100644
> --- a/www/manager6/qemu/Options.js
> +++ b/www/manager6/qemu/Options.js
> @@ -281,6 +281,19 @@ 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'),
Just as a note, SPICE enhancements currently don't have a documentation
available, but once they do, an "onlineHelp" would be useful here.
> + items: {
> + xtype: 'pveSpiceEnhancementSelector',
> + name: 'spice_enhancements',
> + }
> + } : undefined
> + },
Maybe disable this if VGA is not QXL (see also my note in 4/4).
> hookscript: {
> header: gettext('Hookscript')
> }
>
More information about the pve-devel
mailing list