* [pve-devel] [PATCH manager v17 1/2] ui: qemu: change logic to use ViewModel instead of listener function @ 2024-04-22 10:27 Markus Frank 2024-04-22 10:27 ` [pve-devel] [PATCH manager v17 2/2] ui: qemu: add clipboard ComboBox as a advanced option in DisplayEdit Markus Frank 2024-04-22 13:10 ` [pve-devel] applied: [PATCH manager v17 1/2] ui: qemu: change logic to use ViewModel instead of listener function Dominik Csapak 0 siblings, 2 replies; 3+ messages in thread From: Markus Frank @ 2024-04-22 10:27 UTC (permalink / raw) To: pve-devel Signed-off-by: Markus Frank <m.frank@proxmox.com> Reviewed-by: Dominik Csapak <d.csapak@proxmox.com> Tested-by: Dominik Csapak <d.csapak@proxmox.com> --- v17: * moved regex to inline match as it is only used once. www/manager6/qemu/DisplayEdit.js | 56 +++++++++++++++++++------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/www/manager6/qemu/DisplayEdit.js b/www/manager6/qemu/DisplayEdit.js index 9bb1763e..f2649c1c 100644 --- a/www/manager6/qemu/DisplayEdit.js +++ b/www/manager6/qemu/DisplayEdit.js @@ -11,6 +11,33 @@ Ext.define('PVE.qemu.DisplayInputPanel', { return { vga: ret }; }, + viewModel: { + data: { + type: '__default__', + clipboard: '__default__', + }, + formulas: { + matchNonGUIOption: function(get) { + return get('type').match(/^(serial\d|none)$/); + }, + memoryEmptyText: function(get) { + let val = get('type'); + if (val === "cirrus") { + return "4"; + } else if (val === "std" || val.match(/^qxl\d?$/) || val === "vmware") { + return "16"; + } else if (val.match(/^virtio/)) { + return "256"; + } else if (get('matchNonGUIOption')) { + return "N/A"; + } else { + console.debug("unexpected display type", val); + return Proxmox.Utils.defaultText; + } + }, + }, + }, + items: [{ name: 'type', xtype: 'proxmoxKVComboBox', @@ -27,29 +54,8 @@ Ext.define('PVE.qemu.DisplayInputPanel', { } return true; }, - listeners: { - change: function(cb, val) { - if (!val) { - return; - } - let memoryfield = this.up('panel').down('field[name=memory]'); - let disableMemoryField = false; - - if (val === "cirrus") { - memoryfield.setEmptyText("4"); - } else if (val === "std" || val.match(/^qxl\d?$/) || val === "vmware") { - memoryfield.setEmptyText("16"); - } else if (val.match(/^virtio/)) { - memoryfield.setEmptyText("256"); - } else if (val.match(/^(serial\d|none)$/)) { - memoryfield.setEmptyText("N/A"); - disableMemoryField = true; - } else { - console.debug("unexpected display type", val); - memoryfield.setEmptyText(Proxmox.Utils.defaultText); - } - memoryfield.setDisabled(disableMemoryField); - }, + bind: { + value: '{type}', }, }, { @@ -60,6 +66,10 @@ Ext.define('PVE.qemu.DisplayInputPanel', { maxValue: 512, step: 4, name: 'memory', + bind: { + emptyText: '{memoryEmptyText}', + disabled: '{matchNonGUIOption}', + }, }], }); -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ^ permalink raw reply [flat|nested] 3+ messages in thread
* [pve-devel] [PATCH manager v17 2/2] ui: qemu: add clipboard ComboBox as a advanced option in DisplayEdit 2024-04-22 10:27 [pve-devel] [PATCH manager v17 1/2] ui: qemu: change logic to use ViewModel instead of listener function Markus Frank @ 2024-04-22 10:27 ` Markus Frank 2024-04-22 13:10 ` [pve-devel] applied: [PATCH manager v17 1/2] ui: qemu: change logic to use ViewModel instead of listener function Dominik Csapak 1 sibling, 0 replies; 3+ messages in thread From: Markus Frank @ 2024-04-22 10:27 UTC (permalink / raw) To: pve-devel For SPICE and VNC, a different message is displayed. The backend code for the clipboard option can be found in the 'config: enable vnc clipboard parameter in vga_fmt'-commit in qemu-server. Signed-off-by: Markus Frank <m.frank@proxmox.com> --- v17: * added "value: '__default__'" to clipboard ComboBox so that reset does not clear this field. * "(SPICE)" has been removed from the default field, as it is likely to confuse the user. www/manager6/qemu/DisplayEdit.js | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/www/manager6/qemu/DisplayEdit.js b/www/manager6/qemu/DisplayEdit.js index f2649c1c..7acc25d6 100644 --- a/www/manager6/qemu/DisplayEdit.js +++ b/www/manager6/qemu/DisplayEdit.js @@ -35,6 +35,9 @@ Ext.define('PVE.qemu.DisplayInputPanel', { return Proxmox.Utils.defaultText; } }, + isVNC: get => get('clipboard') === 'vnc', + hideDefaultHint: get => get('isVNC') || get('matchNonGUIOption'), + hideVNCHint: get => !get('isVNC') || get('matchNonGUIOption'), }, }, @@ -71,6 +74,44 @@ Ext.define('PVE.qemu.DisplayInputPanel', { disabled: '{matchNonGUIOption}', }, }], + + advancedItems: [ + { + xtype: 'proxmoxKVComboBox', + name: 'clipboard', + deleteEmpty: false, + value: '__default__', + fieldLabel: gettext('Clipboard'), + comboItems: [ + ['__default__', Proxmox.Utils.defaultText], + ['vnc', 'VNC'], + ], + bind: { + value: '{clipboard}', + disabled: '{matchNonGUIOption}', + }, + }, + { + xtype: 'displayfield', + name: 'vncHint', + userCls: 'pmx-hint', + value: gettext('You cannot use the default SPICE clipboard if the VNC Clipboard is selected.') + ' ' + + gettext('VNC Clipboard requires spice-tools installed in the Guest-VM.'), + bind: { + hidden: '{hideVNCHint}', + }, + }, + { + xtype: 'displayfield', + name: 'defaultHint', + userCls: 'pmx-hint', + value: gettext('This option depends on your display type.') + ' ' + + gettext('If the display type uses SPICE you are able to use the default SPICE Clipboard.'), + bind: { + hidden: '{hideDefaultHint}', + }, + }, + ], }); Ext.define('PVE.qemu.DisplayEdit', { -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ^ permalink raw reply [flat|nested] 3+ messages in thread
* [pve-devel] applied: [PATCH manager v17 1/2] ui: qemu: change logic to use ViewModel instead of listener function 2024-04-22 10:27 [pve-devel] [PATCH manager v17 1/2] ui: qemu: change logic to use ViewModel instead of listener function Markus Frank 2024-04-22 10:27 ` [pve-devel] [PATCH manager v17 2/2] ui: qemu: add clipboard ComboBox as a advanced option in DisplayEdit Markus Frank @ 2024-04-22 13:10 ` Dominik Csapak 1 sibling, 0 replies; 3+ messages in thread From: Dominik Csapak @ 2024-04-22 13:10 UTC (permalink / raw) To: Markus Frank, pve-devel applied both patches, thanks! _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-04-22 13:10 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-04-22 10:27 [pve-devel] [PATCH manager v17 1/2] ui: qemu: change logic to use ViewModel instead of listener function Markus Frank 2024-04-22 10:27 ` [pve-devel] [PATCH manager v17 2/2] ui: qemu: add clipboard ComboBox as a advanced option in DisplayEdit Markus Frank 2024-04-22 13:10 ` [pve-devel] applied: [PATCH manager v17 1/2] ui: qemu: change logic to use ViewModel instead of listener function Dominik Csapak
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.