]> git.proxmox.com Git - pve-manager.git/commitdiff
add 'auto' mode for noVNC scaling
authorDominik Csapak <d.csapak@proxmox.com>
Thu, 13 Jan 2022 07:56:33 +0000 (08:56 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 13 Jan 2022 11:58:59 +0000 (12:58 +0100)
in commit
07195aa079c4ed77866ee4c6af77436b7c2a2e06 ("ui: fix novnc scaling radio button")

we always set to 'scale' when no value was set, but a non-set value
actually had a different behaviour:

in the embedded console it was set to 'scale', but in the pop-up it was
set to 'off'.

to restore this behaviour, introduce an option 'auto' which unsets the
'novnc-scaling' setting

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
www/manager6/window/Settings.js

index b151adcd5c05a40e8575b696b6358b3162eb0d24..5cf7a70f8aa63387cff9ca56639099e266131253 100644 (file)
@@ -34,7 +34,7 @@ Ext.define('PVE.window.Settings', {
 
            var username = sp.get('login-username') || Proxmox.Utils.noneText;
            me.lookupReference('savedUserName').setValue(Ext.String.htmlEncode(username));
-           var vncMode = sp.get('novnc-scaling') || 'scale';
+           var vncMode = sp.get('novnc-scaling') || 'auto';
            me.lookupReference('noVNCScalingGroup').setValue({ noVNCScalingField: vncMode });
 
            let summarycolumns = sp.get('summarycolumns', 'auto');
@@ -372,11 +372,18 @@ Ext.define('PVE.window.Settings', {
                            type: 'hbox',
                        },
                        items: [
+                           {
+                               xtype: 'radiofield',
+                               name: 'noVNCScalingField',
+                               inputValue: 'auto',
+                               boxLabel: 'Auto',
+                           },
                            {
                                xtype: 'radiofield',
                                name: 'noVNCScalingField',
                                inputValue: 'scale',
                                boxLabel: 'Local Scaling',
+                               margin: '0 0 0 10',
                            }, {
                                xtype: 'radiofield',
                                name: 'noVNCScalingField',
@@ -387,7 +394,12 @@ Ext.define('PVE.window.Settings', {
                        ],
                        listeners: {
                            change: function(el, { noVNCScalingField }) {
-                               Ext.state.Manager.getProvider().set('novnc-scaling', noVNCScalingField);
+                               let provider = Ext.state.Manager.getProvider();
+                               if (noVNCScalingField === 'auto') {
+                                   provider.clear('novnc-scaling');
+                               } else {
+                                   provider.set('novnc-scaling', noVNCScalingField);
+                               }
                            },
                        },
                    },