[pve-devel] [PATCH manager] add 'auto' mode for noVNC scaling

Dominik Csapak d.csapak at proxmox.com
Thu Jan 13 08:56:33 CET 2022


in commit
69c6561f820b4fdb5625ead767889155db9f1539 ("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 at proxmox.com>
---
 www/manager6/window/Settings.js | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/www/manager6/window/Settings.js b/www/manager6/window/Settings.js
index b151adcd..5cf7a70f 100644
--- a/www/manager6/window/Settings.js
+++ b/www/manager6/window/Settings.js
@@ -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);
+				}
 			    },
 			},
 		    },
-- 
2.30.2






More information about the pve-devel mailing list