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 <[email protected]>
> ---
>  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'));
>           }
>       });
>      }
> 


_______________________________________________
pve-devel mailing list
[email protected]
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to