* Re: [pve-devel] pve-devel Digest, Vol 167, Issue 233
[not found] <mailman.1.1713780001.40445.pve-devel@lists.proxmox.com>
@ 2024-04-22 10:01 ` Lucio Magini via pve-devel
2024-04-22 10:01 ` Lucio Magini via pve-devel
1 sibling, 0 replies; 2+ messages in thread
From: Lucio Magini via pve-devel @ 2024-04-22 10:01 UTC (permalink / raw)
To: pve-devel; +Cc: Lucio Magini
[-- Attachment #1: Type: message/rfc822, Size: 11734 bytes --]
From: Lucio Magini <lucio.magini@abd.it>
To: pve-devel <pve-devel@lists.proxmox.com>
Subject: RE: pve-devel Digest, Vol 167, Issue 233
Date: Mon, 22 Apr 2024 12:01:10 +0200 (CEST)
Message-ID: <1127764916.84868.1713780070490.JavaMail.zextras@abd.it>
Certo Edoardo, nessun problema :-)
Da: "undefined" <pve-devel-request@lists.proxmox.com>
A: "undefined" <pve-devel@lists.proxmox.com>
Inviato: lunedì 22 aprile 2024 12:00
Oggetto: pve-devel Digest, Vol 167, Issue 233
Send pve-devel mailing list submissions to
pve-devel@lists.proxmox.com
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
or, via email, send a message with subject or body 'help' to
pve-devel-request@lists.proxmox.com
You can reach the person managing the list at
pve-devel-owner@lists.proxmox.com
When replying, please edit your Subject line so it is more specific
than "Re: Contents of pve-devel digest..."
Today's Topics:
1. Re: [PATCH manager v16 1/2] ui: qemu: change DisplayEdit
logic to use ViewModel instead of listener function (Dominik Csapak)
2. Re: [PATCH manager v16 2/2] ui: qemu: add clipboard ComboBox
as a advanced option in DisplayEdit (Dominik Csapak)
----------------------------------------------------------------------
Message: 1
Date: Mon, 22 Apr 2024 11:33:46 +0200
From: Dominik Csapak
To: Proxmox VE development discussion ,
Markus Frank
Subject: Re: [pve-devel] [PATCH manager v16 1/2] ui: qemu: change
DisplayEdit logic to use ViewModel instead of listener function
Message-ID: <2a004a96-fe68-41c0-94bd-4c6cea151dee@proxmox.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
one minor nit inline, otherwise
Reviewed-by: Dominik Csapak
Tested-by: Dominik Csapak
On 4/8/24 12:33, Markus Frank wrote:
> Signed-off-by: Markus Frank
> ---
> www/manager6/qemu/DisplayEdit.js | 57 ++++++++++++++++++--------------
> 1 file changed, 33 insertions(+), 24 deletions(-)
>
> diff --git a/www/manager6/qemu/DisplayEdit.js b/www/manager6/qemu/DisplayEdit.js
> index 9bb1763e..17b02ee4 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__',
> + nonGUIOptionRegex: /^(serial\d|none)$/,
> + },
> + formulas: {
> + matchNonGUIOption: function(get) {
> + return get('type').match(get('nonGUIOptionRegex'));
since this regex is only used once, i'd inline it where it's used
> + },
> + 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,39 +54,21 @@ 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}',
> },
> },
> {
> xtype: 'proxmoxintegerfield',
> - emptyText: Proxmox.Utils.defaultText,
> fieldLabel: gettext('Memory') + ' (MiB)',
> minValue: 4,
> maxValue: 512,
> step: 4,
> name: 'memory',
> + bind: {
> + emptyText: '{memoryEmptyText}',
> + disabled: '{matchNonGUIOption}',
> + },
> }],
> });
>
------------------------------
Message: 2
Date: Mon, 22 Apr 2024 11:36:50 +0200
From: Dominik Csapak
To: Proxmox VE development discussion ,
Markus Frank
Subject: Re: [pve-devel] [PATCH manager v16 2/2] ui: qemu: add
clipboard ComboBox as a advanced option in DisplayEdit
Message-ID: <701654f9-5083-4d5b-891b-21202af943a4@proxmox.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
a few comments inline
On 4/8/24 12:33, Markus Frank wrote:
> 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
> ---
> 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 17b02ee4..3357794a 100644
> --- a/www/manager6/qemu/DisplayEdit.js
> +++ b/www/manager6/qemu/DisplayEdit.js
> @@ -15,6 +15,7 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> data: {
> type: '__default__',
> nonGUIOptionRegex: /^(serial\d|none)$/,
> + clipboard: '__default__',
> },
> formulas: {
> matchNonGUIOption: function(get) {
> @@ -35,6 +36,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'),
> },
> },
>
> @@ -70,6 +74,43 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> disabled: '{matchNonGUIOption}',
> },
> }],
> +
> + advancedItems: [
> + {
> + xtype: 'proxmoxKVComboBox',
> + name: 'clipboard',
> + deleteEmpty: false,
> + fieldLabel: gettext('Clipboard'),
> + comboItems: [
> + ['__default__', Proxmox.Utils.defaultText + ' (SPICE)'],
this '(SPICE)' here implies that the spice clipboard is available anywhere
but the hint below implies it's only available with SPICE
i'd probably omit it here and just say default and further explain it
in the hint.
> + ['vnc', 'VNC'],
> + ],
> + bind: {
> + value: '{clipboard}',
> + disabled: '{matchNonGUIOption}',
> + },
here you have to set the value initially to '__default__' too, otherwise
the bind set will mark it as dirty and allow a reset to the empty value
i.e. use
----8<----
value: '__default__',
---->8----
> + },
> + {
> + 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', {
------------------------------
Subject: Digest Footer
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
------------------------------
End of pve-devel Digest, Vol 167, Issue 233
*******************************************
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [pve-devel] pve-devel Digest, Vol 167, Issue 233
[not found] <mailman.1.1713780001.40445.pve-devel@lists.proxmox.com>
2024-04-22 10:01 ` [pve-devel] pve-devel Digest, Vol 167, Issue 233 Lucio Magini via pve-devel
@ 2024-04-22 10:01 ` Lucio Magini via pve-devel
1 sibling, 0 replies; 2+ messages in thread
From: Lucio Magini via pve-devel @ 2024-04-22 10:01 UTC (permalink / raw)
To: pve-devel; +Cc: Lucio Magini
[-- Attachment #1: Type: message/rfc822, Size: 11733 bytes --]
From: Lucio Magini <lucio.magini@abd.it>
To: pve-devel <pve-devel@lists.proxmox.com>
Subject: RE: pve-devel Digest, Vol 167, Issue 233
Date: Mon, 22 Apr 2024 12:01:30 +0200 (CEST)
Message-ID: <2022047899.84876.1713780090833.JavaMail.zextras@abd.it>
Ok, ottimo :-)
Grazie
Lucio
Da: "undefined" <pve-devel-request@lists.proxmox.com>
A: "undefined" <pve-devel@lists.proxmox.com>
Inviato: lunedì 22 aprile 2024 12:00
Oggetto: pve-devel Digest, Vol 167, Issue 233
Send pve-devel mailing list submissions to
pve-devel@lists.proxmox.com
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
or, via email, send a message with subject or body 'help' to
pve-devel-request@lists.proxmox.com
You can reach the person managing the list at
pve-devel-owner@lists.proxmox.com
When replying, please edit your Subject line so it is more specific
than "Re: Contents of pve-devel digest..."
Today's Topics:
1. Re: [PATCH manager v16 1/2] ui: qemu: change DisplayEdit
logic to use ViewModel instead of listener function (Dominik Csapak)
2. Re: [PATCH manager v16 2/2] ui: qemu: add clipboard ComboBox
as a advanced option in DisplayEdit (Dominik Csapak)
----------------------------------------------------------------------
Message: 1
Date: Mon, 22 Apr 2024 11:33:46 +0200
From: Dominik Csapak
To: Proxmox VE development discussion ,
Markus Frank
Subject: Re: [pve-devel] [PATCH manager v16 1/2] ui: qemu: change
DisplayEdit logic to use ViewModel instead of listener function
Message-ID: <2a004a96-fe68-41c0-94bd-4c6cea151dee@proxmox.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
one minor nit inline, otherwise
Reviewed-by: Dominik Csapak
Tested-by: Dominik Csapak
On 4/8/24 12:33, Markus Frank wrote:
> Signed-off-by: Markus Frank
> ---
> www/manager6/qemu/DisplayEdit.js | 57 ++++++++++++++++++--------------
> 1 file changed, 33 insertions(+), 24 deletions(-)
>
> diff --git a/www/manager6/qemu/DisplayEdit.js b/www/manager6/qemu/DisplayEdit.js
> index 9bb1763e..17b02ee4 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__',
> + nonGUIOptionRegex: /^(serial\d|none)$/,
> + },
> + formulas: {
> + matchNonGUIOption: function(get) {
> + return get('type').match(get('nonGUIOptionRegex'));
since this regex is only used once, i'd inline it where it's used
> + },
> + 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,39 +54,21 @@ 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}',
> },
> },
> {
> xtype: 'proxmoxintegerfield',
> - emptyText: Proxmox.Utils.defaultText,
> fieldLabel: gettext('Memory') + ' (MiB)',
> minValue: 4,
> maxValue: 512,
> step: 4,
> name: 'memory',
> + bind: {
> + emptyText: '{memoryEmptyText}',
> + disabled: '{matchNonGUIOption}',
> + },
> }],
> });
>
------------------------------
Message: 2
Date: Mon, 22 Apr 2024 11:36:50 +0200
From: Dominik Csapak
To: Proxmox VE development discussion ,
Markus Frank
Subject: Re: [pve-devel] [PATCH manager v16 2/2] ui: qemu: add
clipboard ComboBox as a advanced option in DisplayEdit
Message-ID: <701654f9-5083-4d5b-891b-21202af943a4@proxmox.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
a few comments inline
On 4/8/24 12:33, Markus Frank wrote:
> 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
> ---
> 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 17b02ee4..3357794a 100644
> --- a/www/manager6/qemu/DisplayEdit.js
> +++ b/www/manager6/qemu/DisplayEdit.js
> @@ -15,6 +15,7 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> data: {
> type: '__default__',
> nonGUIOptionRegex: /^(serial\d|none)$/,
> + clipboard: '__default__',
> },
> formulas: {
> matchNonGUIOption: function(get) {
> @@ -35,6 +36,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'),
> },
> },
>
> @@ -70,6 +74,43 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> disabled: '{matchNonGUIOption}',
> },
> }],
> +
> + advancedItems: [
> + {
> + xtype: 'proxmoxKVComboBox',
> + name: 'clipboard',
> + deleteEmpty: false,
> + fieldLabel: gettext('Clipboard'),
> + comboItems: [
> + ['__default__', Proxmox.Utils.defaultText + ' (SPICE)'],
this '(SPICE)' here implies that the spice clipboard is available anywhere
but the hint below implies it's only available with SPICE
i'd probably omit it here and just say default and further explain it
in the hint.
> + ['vnc', 'VNC'],
> + ],
> + bind: {
> + value: '{clipboard}',
> + disabled: '{matchNonGUIOption}',
> + },
here you have to set the value initially to '__default__' too, otherwise
the bind set will mark it as dirty and allow a reset to the empty value
i.e. use
----8<----
value: '__default__',
---->8----
> + },
> + {
> + 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', {
------------------------------
Subject: Digest Footer
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
------------------------------
End of pve-devel Digest, Vol 167, Issue 233
*******************************************
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 2+ messages in thread