[pve-devel] [PATCH manager 3/4] spice: Add enhancements to VM Options panel

Christian Ebner c.ebner at proxmox.com
Mon Sep 16 14:56:21 CEST 2019


> On September 16, 2019 2:44 PM Stefan Reiter <s.reiter at proxmox.com> wrote:
> 
>  
> 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?

we have parseBoolean in Parser.js for that which checks for 1|yes|on|true and makes sure upper/lower case is taken into account 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')
> >   	    }
> > 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel




More information about the pve-devel mailing list