mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-07-29 14:12:37 +00:00
add xterm.js settings
this adds font-settings to the 'My Settings' window and makes that bigger Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
5dc48aa804
commit
d9ace13c6c
@ -1,7 +1,7 @@
|
|||||||
Ext.define('PVE.window.Settings', {
|
Ext.define('PVE.window.Settings', {
|
||||||
extend: 'Ext.window.Window',
|
extend: 'Ext.window.Window',
|
||||||
|
|
||||||
width: '400px',
|
width: '800px',
|
||||||
title: gettext('My Settings'),
|
title: gettext('My Settings'),
|
||||||
iconCls: 'fa fa-gear',
|
iconCls: 'fa fa-gear',
|
||||||
modal: true,
|
modal: true,
|
||||||
@ -16,21 +16,62 @@ Ext.define('PVE.window.Settings', {
|
|||||||
}],
|
}],
|
||||||
|
|
||||||
layout: {
|
layout: {
|
||||||
type: 'vbox',
|
type: 'hbox',
|
||||||
align: 'center'
|
align: 'top'
|
||||||
},
|
},
|
||||||
|
|
||||||
controller: {
|
controller: {
|
||||||
xclass: 'Ext.app.ViewController',
|
xclass: 'Ext.app.ViewController',
|
||||||
|
|
||||||
control: {
|
init: function(view) {
|
||||||
'#': {
|
var me = this;
|
||||||
show: function() {
|
var sp = Ext.state.Manager.getProvider();
|
||||||
var me = this;
|
|
||||||
var sp = Ext.state.Manager.getProvider();
|
|
||||||
|
|
||||||
var username = sp.get('login-username') || Proxmox.Utils.noneText;
|
var username = sp.get('login-username') || Proxmox.Utils.noneText;
|
||||||
me.lookupReference('savedUserName').setValue(username);
|
me.lookupReference('savedUserName').setValue(username);
|
||||||
|
|
||||||
|
var settings = ['fontSize', 'fontFamily', 'letterSpacing', 'lineHeight'];
|
||||||
|
var defaultSettings = true;
|
||||||
|
settings.forEach(function(setting) {
|
||||||
|
var val = localStorage.getItem('pve-xterm-' + setting);
|
||||||
|
if (val !== undefined && val !== null) {
|
||||||
|
var field = me.lookup(setting);
|
||||||
|
field.setValue(val);
|
||||||
|
defaultSettings = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
me.lookup('xtermsave').setDisabled(true);
|
||||||
|
me.lookup('xtermreset').setDisabled(defaultSettings);
|
||||||
|
},
|
||||||
|
|
||||||
|
control: {
|
||||||
|
'#xtermjs field': {
|
||||||
|
change: function(field) {
|
||||||
|
var me = this;
|
||||||
|
me.lookup('xtermsave').setDisabled(false);
|
||||||
|
me.lookup('xtermreset').setDisabled(false);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'#xtermjs button': {
|
||||||
|
click: function(button) {
|
||||||
|
var me = this;
|
||||||
|
var settings = ['fontSize', 'fontFamily', 'letterSpacing', 'lineHeight'];
|
||||||
|
settings.forEach(function(setting) {
|
||||||
|
var field = me.lookup(setting);
|
||||||
|
if (button.reference === 'xtermsave') {
|
||||||
|
var value = field.getValue();
|
||||||
|
if (value) {
|
||||||
|
localStorage.setItem('pve-xterm-' + setting, value);
|
||||||
|
} else {
|
||||||
|
localStorage.removeItem('pve-xterm-' + setting);
|
||||||
|
}
|
||||||
|
} else if (button.reference === 'xtermreset') {
|
||||||
|
field.setValue(undefined);
|
||||||
|
localStorage.removeItem('pve-xterm-' + setting);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
button.setDisabled(true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'button[name=reset]': {
|
'button[name=reset]': {
|
||||||
@ -102,8 +143,9 @@ Ext.define('PVE.window.Settings', {
|
|||||||
|
|
||||||
items: [{
|
items: [{
|
||||||
xtype: 'fieldset',
|
xtype: 'fieldset',
|
||||||
width: '90%',
|
width: '50%',
|
||||||
title: gettext('Browser Settings'),
|
title: gettext('Webinterface Settings'),
|
||||||
|
margin: '5',
|
||||||
layout: {
|
layout: {
|
||||||
type: 'vbox',
|
type: 'vbox',
|
||||||
align: 'left'
|
align: 'left'
|
||||||
@ -184,6 +226,73 @@ Ext.define('PVE.window.Settings', {
|
|||||||
name: 'reset'
|
name: 'reset'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},{
|
||||||
|
xtype: 'fieldset',
|
||||||
|
itemId: 'xtermjs',
|
||||||
|
width: '50%',
|
||||||
|
margin: '5',
|
||||||
|
title: gettext('xterm.js Settings'),
|
||||||
|
layout: {
|
||||||
|
type: 'vbox',
|
||||||
|
algin: 'left'
|
||||||
|
},
|
||||||
|
defaults: {
|
||||||
|
width: '100%',
|
||||||
|
margin: '0 0 10 0'
|
||||||
|
},
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
xtype: 'textfield',
|
||||||
|
name: 'fontFamily',
|
||||||
|
reference: 'fontFamily',
|
||||||
|
emptyText: Proxmox.Utils.defaultText,
|
||||||
|
fieldLabel: gettext('Font-Family')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'proxmoxintegerfield',
|
||||||
|
emptyText: Proxmox.Utils.defaultText,
|
||||||
|
name: 'fontSize',
|
||||||
|
reference: 'fontSize',
|
||||||
|
minValue: 1,
|
||||||
|
fieldLabel: gettext('Font-Size')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'numberfield',
|
||||||
|
name: 'letterSpacing',
|
||||||
|
reference: 'letterSpacing',
|
||||||
|
emptyText: Proxmox.Utils.defaultText,
|
||||||
|
fieldLabel: gettext('Letter Spacing')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'numberfield',
|
||||||
|
name: 'lineHeight',
|
||||||
|
minValue: 0.1,
|
||||||
|
reference: 'lineHeight',
|
||||||
|
emptyText: Proxmox.Utils.defaultText,
|
||||||
|
fieldLabel: gettext('Line Height')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'container',
|
||||||
|
layout: {
|
||||||
|
type: 'hbox',
|
||||||
|
pack: 'end'
|
||||||
|
},
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
xtype: 'button',
|
||||||
|
reference: 'xtermreset',
|
||||||
|
disabled: true,
|
||||||
|
text: gettext('Reset')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'button',
|
||||||
|
reference: 'xtermsave',
|
||||||
|
disabled: true,
|
||||||
|
text: gettext('Save')
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}],
|
}],
|
||||||
|
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user