Settings
Table of contents
The Settings class
Class that manages app settings.
Methods
get
Description: Gets app settings. If none are defined, returns default settings.
Arguments: None
Return value: settings
set
Description: Store the provided settings.
Arguments: settings
Return value: None
reset
Description: Stores the predefined settings.
Arguments: None
Return value: None
getCustomCSS
Description: Auxiliary method that gets the user-defined CSS, returning '' if there is no corresponding file.
Arguments: None
Return value: customCSS
setCustomCSS
Description: Auxiliary method that saves the user-defined CSS.
Arguments: customCSS
Return value: None
Structure
The settings are stored in an object containing subSettings. These, in turn, have a property type which determines what the other properties are and what should be displayed in the Setting component. While customCSS and firstTime are included in the settings structure, they are not conventional. firstTime is only true on the first time the app is opened and customCSS is stored in customCSSPath. To retrieve it, use the getCustomCSS function.
const defaultSettings = {
theme: {
name: 'Theme',
type: 'select',
options: ['light', 'dark'],
value: 'dark'
},
zoomFactor: {
name: 'Zoom',
type: 'select',
options: ['0.7', '0.8', '0.9', '1', '1.2', '1.4', '1.6', '1.8'],
value: platform() == 'win32'? '0.8' : '1'
},
inactiveTime: {
name: 'How many minutes before inactivity?',
type: 'select',
options: ['0.5', '1', '2', '3', '4', '5'],
value: '3'
},
customCSS: {
name: 'Custom CSS',
type: 'code',
language: 'css',
value: '',
},
version: app.getVersion(),
firstTime: true
}
Paths
The paths used by the Settings class are these:
-
settingsPath = [userData]/settings.json -
customCSSPath = [userData]/css/custom.css