[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