Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com> --- As suggested by Thomas in [0] I removed the gettext around the feature names to have the same feature names accross all translations. This should help if people start searching for a problem with them.
The check if the hint to set SPICE in display is using a regex in order to detect SPICE set with multiple monitors. [0]: https://pve.proxmox.com/pipermail/pve-devel/2019-October/039387.html www/manager6/Makefile | 1 + www/manager6/form/SpiceEnhancementSelector.js | 60 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 www/manager6/form/SpiceEnhancementSelector.js diff --git a/www/manager6/Makefile b/www/manager6/Makefile index 82e25c79..aa460c3b 100644 --- a/www/manager6/Makefile +++ b/www/manager6/Makefile @@ -66,6 +66,7 @@ JSSRC= \ form/CalendarEvent.js \ form/CephPoolSelector.js \ form/PermPathSelector.js \ + form/SpiceEnhancementSelector.js \ dc/Tasks.js \ dc/Log.js \ panel/StatusPanel.js \ diff --git a/www/manager6/form/SpiceEnhancementSelector.js b/www/manager6/form/SpiceEnhancementSelector.js new file mode 100644 index 00000000..1642bf1d --- /dev/null +++ b/www/manager6/form/SpiceEnhancementSelector.js @@ -0,0 +1,60 @@ +Ext.define('PVE.form.SpiceEnhancementSelector', { + extend: 'Proxmox.panel.InputPanel', + alias: 'widget.pveSpiceEnhancementSelector', + items: [ + { + xtype: 'proxmoxcheckbox', + itemId: 'foldersharing', + name: 'foldersharing', + fieldLabel: 'Folder Sharing', + uncheckedValue: 0, + }, + { + xtype: 'proxmoxKVComboBox', + itemId: 'videostreaming', + name: 'videostreaming', + value: 'off', + fieldLabel: 'Video Streaming', + comboItems: [ + ['off', 'off'], + ['all', 'all'], + ['filter', 'filter'], + ], + }, + { + xtype: 'displayfield', + itemId: 'spicehint', + userCls: 'pve-hint', + value: gettext('To use these features set the display to SPICE in the hardware settings of the VM.'), + hidden: true, + } + ], + + onGetValues: function(values) { + var ret = {}; + + if (values.videostreaming !== "off") { + ret.videostreaming = values.videostreaming; + } + if (values.foldersharing) { + ret.foldersharing = 1; + } + if (Ext.Object.isEmpty(ret)) { + return { 'delete': 'spice_enhancements' }; + } + var enhancements = PVE.Parser.printPropertyString(ret); + return { spice_enhancements: enhancements }; + }, + + setValues: function(values) { + var vga = PVE.Parser.parsePropertyString(values.vga, 'type'); + if (!/^qxl\d?$/.test(vga.type)) { + this.down('#spicehint').setVisible(true); + } + if (values.spice_enhancements) { + var enhancements = PVE.Parser.parsePropertyString(values.spice_enhancements); + enhancements['foldersharing'] = PVE.Parser.parseBoolean(enhancements['foldersharing'], 0); + this.callParent([enhancements]); + } + }, +}); -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel