[pve-devel] applied: [PATCH manager 1/1 v2] gui: let users edit the vga memory

Thomas Lamprecht t.lamprecht at proxmox.com
Fri Nov 9 14:21:45 CET 2018


On 11/9/18 1:31 PM, Dominik Csapak wrote:
> and show the default for each type of virtual gpu
> 

applied, thanks!

> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> ---
>  www/manager6/Utils.js            |  6 ++-
>  www/manager6/qemu/DisplayEdit.js | 89 ++++++++++++++++++++++++++++++++++++----
>  2 files changed, 86 insertions(+), 9 deletions(-)
> 
> diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
> index 568ceb7b..a659b093 100644
> --- a/www/manager6/Utils.js
> +++ b/www/manager6/Utils.js
> @@ -350,7 +350,11 @@ Ext.define('PVE.Utils', { utilities: {
>  	if (!value) {
>  	    return Proxmox.Utils.defaultText;
>  	}
> -	var text = PVE.Utils.kvm_vga_drivers[value];
> +	var vga = PVE.Parser.parsePropertyString(value, 'type');
> +	var text = PVE.Utils.kvm_vga_drivers[vga.type];
> +	if (!vga.type) {
> +	    text = Proxmox.Utils.defaultText;
> +	}
>  	if (text) {
>  	    return text + ' (' + value + ')';
>  	}
> diff --git a/www/manager6/qemu/DisplayEdit.js b/www/manager6/qemu/DisplayEdit.js
> index 936521ae..c31c69ad 100644
> --- a/www/manager6/qemu/DisplayEdit.js
> +++ b/www/manager6/qemu/DisplayEdit.js
> @@ -1,15 +1,24 @@
> -Ext.define('PVE.qemu.DisplayEdit', {
> -    extend: 'Proxmox.window.Edit',
> +Ext.define('PVE.qemu.DisplayInputPanel', {
> +    extend: 'Proxmox.panel.InputPanel',
> +    xtype: 'pveDisplayInputPanel',
>  
> -    vmconfig: undefined,
> -
> -    subject: gettext('Display'),
> -    width: 350,
> +    onGetValues: function(values) {
> +	var ret = PVE.Parser.printPropertyString(values, 'type');
> +	if (ret === '') {
> +	    return {
> +		'delete': 'vga'
> +	    };
> +	}
> +	return {
> +	    vga: ret
> +	};
> +    },
>  
>      items: [{
> -	name: 'vga',
> +	name: 'type',
>  	xtype: 'proxmoxKVComboBox',
>  	value: '__default__',
> +	deleteEmpty: false,
>  	fieldLabel: gettext('Graphic card'),
>  	comboItems: PVE.Utils.kvm_vga_driver_array(),
>  	validator: function() {
> @@ -21,7 +30,70 @@ Ext.define('PVE.qemu.DisplayEdit', {
>  		return Ext.String.format(fmt, v);
>  	    }
>  	    return true;
> +	},
> +	listeners: {
> +	    change: function(cb, val) {
> +		var me = this.up('panel');
> +		if (!val) {
> +		    return;
> +		}
> +		var disable = false;
> +		var emptyText = Proxmox.Utils.defaultText;
> +		switch (val) {
> +		    case "cirrus":
> +			emptyText = "4";
> +			break;
> +		    case "std":
> +			emptyText = "16";
> +			break;
> +		    case "qxl":
> +		    case "qxl2":
> +		    case "qxl3":
> +		    case "qxl4":
> +			emptyText = "16";
> +			break;
> +		    case "vmware":
> +			emptyText = "16";
> +			break;
> +		    case "serial0":
> +		    case "serial1":
> +		    case "serial2":
> +		    case "serial3":
> +			emptyText = 'N/A';
> +			disable = true;
> +			break;
> +		    case "virtio":
> +			emptyText = "256";
> +			break;
> +		    default:
> +			break;
> +		}
> +		var memoryfield = me.down('field[name=memory]');
> +		memoryfield.setEmptyText(emptyText);
> +		memoryfield.setDisabled(disable);
> +	    }
>  	}
> +    },{
> +	xtype: 'proxmoxintegerfield',
> +	emptyText: Proxmox.Utils.defaultText,
> +	fieldLabel: gettext('Memory') + ' (MiB)',
> +	minValue: 4,
> +	maxValue: 512,
> +	step: 4,
> +	name: 'memory'
> +    }]
> +});
> +
> +Ext.define('PVE.qemu.DisplayEdit', {
> +    extend: 'Proxmox.window.Edit',
> +
> +    vmconfig: undefined,
> +
> +    subject: gettext('Display'),
> +    width: 350,
> +
> +    items: [{
> +	xtype: 'pveDisplayInputPanel'
>      }],
>  
>      initComponent : function() {
> @@ -32,7 +104,8 @@ Ext.define('PVE.qemu.DisplayEdit', {
>  	me.load({
>  	    success: function(response) {
>  		me.vmconfig = response.result.data;
> -		me.setValues(me.vmconfig);
> +		var vga = me.vmconfig.vga || '__default__';
> +		me.setValues(PVE.Parser.parsePropertyString(vga, 'type'));
>  	    }
>  	});
>      }
> 





More information about the pve-devel mailing list