instead of hardcoding some values here for win11, use the OSDefaults mechanism to load it for all. This makes it also architecture aware.
rename the function to 'setDefaults' as it's a more fitting name now. Signed-off-by: Dominik Csapak <[email protected]> --- www/manager6/qemu/OSDefaults.js | 7 +++++++ www/manager6/qemu/SystemEdit.js | 16 ++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/www/manager6/qemu/OSDefaults.js b/www/manager6/qemu/OSDefaults.js index 3a707d60..b679f58d 100644 --- a/www/manager6/qemu/OSDefaults.js +++ b/www/manager6/qemu/OSDefaults.js @@ -109,6 +109,13 @@ Ext.define('PVE.qemu.OSDefaults', { parent: 'w2k', }); + addOS({ + pveOS: 'win11', + parent: 'generic', + machine: 'q35', + bios: 'ovmf', + }); + me.getDefaults = function (ostype, arch = 'x86_64') { if (!PVE.qemu.OSDefaults[ostype]) { ostype = 'generic'; diff --git a/www/manager6/qemu/SystemEdit.js b/www/manager6/qemu/SystemEdit.js index 4b72b274..7422d3e7 100644 --- a/www/manager6/qemu/SystemEdit.js +++ b/www/manager6/qemu/SystemEdit.js @@ -57,19 +57,27 @@ Ext.define('PVE.qemu.SystemInputPanel', { change: 'biosChange', }, '#': { - afterrender: 'setMachine', + afterrender: 'setDefaults', }, }, - setMachine: function () { + setDefaults: function () { let me = this; let vm = this.getViewModel(); + let ostype = vm.get('current.ostype'); + let architecture = PVE.Utils.getArchitecture( + vm.get('current.architecture'), + vm.get('nodename'), + ); + + let defaults = PVE.qemu.OSDefaults.getDefaults(ostype, architecture); if (ostype === 'win11') { - me.lookup('machine').setValue('q35'); - me.lookup('bios').setValue('ovmf'); me.lookup('addtpmbox').setValue(true); } + + me.lookup('machine').setValue(defaults.machine ?? '__default__'); + me.lookup('bios').setValue(defaults.bios ?? '__default__'); }, }, -- 2.47.3 _______________________________________________ pve-devel mailing list [email protected] https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
