From: Dominik Csapak <d.csapak@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
Markus Frank <m.frank@proxmox.com>
Subject: Re: [pve-devel] [PATCH manager v12 5/6] add clipboard checkbox to VM Options
Date: Wed, 20 Sep 2023 15:45:06 +0200 [thread overview]
Message-ID: <a26be247-a62a-443b-9bb2-45ec244527e8@proxmox.com> (raw)
In-Reply-To: <20230908110604.132618-6-m.frank@proxmox.com>
Rest of the series looks fine to me (and tested ok), but here i have some comments/nits inline:
On 9/8/23 13:06, Markus Frank wrote:
> Signed-off-by: Markus Frank <m.frank@proxmox.com>
> ---
> www/manager6/qemu/DisplayEdit.js | 8 +++++
> www/manager6/qemu/Options.js | 52 ++++++++++++++++++++++++++++++++
> 2 files changed, 60 insertions(+)
>
> diff --git a/www/manager6/qemu/DisplayEdit.js b/www/manager6/qemu/DisplayEdit.js
> index 9bb1763e..d7cd51a9 100644
> --- a/www/manager6/qemu/DisplayEdit.js
> +++ b/www/manager6/qemu/DisplayEdit.js
> @@ -4,6 +4,9 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> onlineHelp: 'qm_display',
>
> onGetValues: function(values) {
> + if (typeof this.originalConfig.clipboard !== 'undefined') {
> + values.clipboard = this.originalConfig.clipboard;
> + }
> let ret = PVE.Parser.printPropertyString(values, 'type');
> if (ret === '') {
> return { 'delete': 'vga' };
> @@ -11,6 +14,11 @@ Ext.define('PVE.qemu.DisplayInputPanel', {
> return { vga: ret };
> },
>
> + onSetValues: function(values) {
> + this.originalConfig = values;
> + return values;
> + },
> +
> items: [{
> name: 'type',
> xtype: 'proxmoxKVComboBox',
> diff --git a/www/manager6/qemu/Options.js b/www/manager6/qemu/Options.js
> index 7b112400..7b8283c6 100644
> --- a/www/manager6/qemu/Options.js
> +++ b/www/manager6/qemu/Options.js
> @@ -154,6 +154,58 @@ Ext.define('PVE.qemu.Options', {
> },
> } : undefined,
> },
> + vga: {
> + header: gettext('Clipboard'),
> + defaultValue: false,
> + renderer: function(value) {
> + let vga = PVE.Parser.parsePropertyString(value, 'type');
> + return vga.clipboard ? vga.clipboard.toUpperCase() : "auto (SPICE)";
> + },
> + editor: caps.vms['VM.Config.HWType'] ? {
> + xtype: 'proxmoxWindowEdit',
> + subject: gettext('Clipboard'),
> + onlineHelp: 'qm_display',
> + items: {
> + xtype: 'pveDisplayInputPanel',
> + items: [
> + {
> + xtype: 'proxmoxKVComboBox',
> + name: 'clipboard',
> + itemId: 'clipboardBox',
> + fieldLabel: gettext('Clipboard'),
> + deleteDefaultValue: true,
> + value: '__default__',
> + comboItems: [
> + ['__default__', 'auto (SPICE)'],
nit: not sure if we really want to use 'auto (SPICE)' (@thomas) ?
wouldn't `${defaulttext} (SPICE)` fit our scheme better ?
> + ['vnc', 'VNC'],
> + ],
> + },
> + {
> + itemId: 'vdagentHint',
> + name: 'vdagentHint',
> + xtype: 'displayfield',
> + userCls: 'pmx-hint',
> + value: 'The SPICE Clipboard stops working when' +
> + ' you are using the VNC Clipboard, as both' +
> + ' rely on the same SPICE vdagent.',
> + },
two nits here:
1. we may want to show the hint only when VNC is enabled
2. I'd remove the vdagent reference, since that is only an implementation detail
so i'd write something like this:
----
Only one of either the SPICE or VNC clipboard can work at a time.
----
?
(also i'd put it in a gettext)
> + ],
> + onGetValues: function(values) {
> + values = Ext.apply(this.originalConfig, values);
> + if (values.delete === "clipboard") {
> + delete values.clipboard;
> + delete values.delete;
> + }
> + let ret = PVE.Parser.printPropertyString(values, 'type');
> + return { vga: ret };
> + },
not a nit:
this is missing the check if ret === '' (which then must send the delete parameter)
otherwise you can get the empty string into the config
> + onSetValues: function(values) {
> + this.originalConfig = PVE.Parser.parsePropertyString(values.vga, 'type');
> + return this.originalConfig;
> + },
> + },
> + } : undefined,
> + },
> hotplug: {
> header: gettext('Hotplug'),
> defaultValue: 'disk,network,usb',
next prev parent reply other threads:[~2023-09-20 13:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-08 11:05 [pve-devel] [PATCH qemu-sever/novnc/manager/docs v12 0/6] Feature VNC-Clipboard Markus Frank
2023-09-08 11:05 ` [pve-devel] [PATCH qemu-sever v12 1/6] enable VNC clipboard parameter in vga_fmt Markus Frank
2023-09-08 11:06 ` [pve-devel] [PATCH qemu-sever v12 2/6] add clipboard variable to return at status/current Markus Frank
2023-09-08 11:06 ` [pve-devel] [PATCH qemu-sever v12 3/6] test cases for clipboard spice & std Markus Frank
2023-09-08 11:06 ` [pve-devel] [PATCH novnc v12 4/6] add "show clipboard button" patch to series Markus Frank
2023-09-08 11:06 ` [pve-devel] [PATCH manager v12 5/6] add clipboard checkbox to VM Options Markus Frank
2023-09-20 13:45 ` Dominik Csapak [this message]
2023-09-08 11:06 ` [pve-devel] [PATCH docs v12 6/6] add VNC clipboard documentation Markus Frank
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a26be247-a62a-443b-9bb2-45ec244527e8@proxmox.com \
--to=d.csapak@proxmox.com \
--cc=m.frank@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox