diff --git a/webext/background.js b/webext/background.js index 1441523..ee2ced7 100644 --- a/webext/background.js +++ b/webext/background.js @@ -560,15 +560,17 @@ SysTrayX.Messaging = { "iconType", "iconMime", "icon", + "theme", "showNumber", "showNewIndicator", + "countType", + "startupDelay", "numberColor", "numberSize", "numberAlignment", "numberMargins", - "countType", - "startupDelay", - "theme", + "newIndicatorType", + "newShadeColor", "startApp", "startAppArgs", "closeApp", @@ -594,8 +596,11 @@ SysTrayX.Messaging = { const iconType = result.iconType || "0"; const iconMime = result.iconMime || "image/png"; const icon = result.icon || []; + const theme = result.theme || "0"; const showNumber = result.showNumber || "true"; const showNewIndicator = result.showNewIndicator || "true"; + const countType = result.countType || "0"; + const startupDelay = result.startupDelay || "5"; let numberColor = result.numberColor || "#000000"; const numberSize = result.numberSize || "10"; const numberAlignment = result.numberAlignment || "4"; @@ -605,9 +610,8 @@ SysTrayX.Messaging = { right: 0, bottom: 0, }; - const countType = result.countType || "0"; - const startupDelay = result.startupDelay || "5"; - const theme = result.theme || "0"; + const newIndicatorType = result.newIndicatorType || "2"; + const newShadeColor = result.newShadeColor || "#ff8000"; const startApp = result.startApp || ""; const startAppArgs = result.startAppArgs || ""; const closeApp = result.closeApp || ""; @@ -635,15 +639,17 @@ SysTrayX.Messaging = { iconType, iconMime, icon, + theme, showNumber, showNewIndicator, + countType, + startupDelay, numberColor, numberSize, numberAlignment, numberMargins, - countType, - startupDelay, - theme, + newIndicatorType, + newShadeColor, startApp, startAppArgs, closeApp, @@ -720,6 +726,41 @@ SysTrayX.Link = { if (response["preferences"]) { // Store the preferences from the app + const minimizeType = response["preferences"].minimizeType; + if (minimizeType) { + await storage().set({ + minimizeType: minimizeType, + }); + } + + const minimizeIconType = response["preferences"].minimizeIconType; + if (minimizeIconType) { + await storage().set({ + minimizeIconType: minimizeIconType, + }); + } + + const closeType = response["preferences"].closeType; + if (closeType) { + await storage().set({ + closeType: closeType, + }); + } + + const startMinimized = response["preferences"].startMinimized; + if (startMinimized) { + await storage().set({ + startMinimized: startMinimized, + }); + } + + const restorePositions = response["preferences"].restorePositions; + if (restorePositions) { + await storage().set({ + restorePositions: restorePositions, + }); + } + const defaultIconMime = response["preferences"].defaultIconMime; if (defaultIconMime) { await storage().set({ @@ -769,6 +810,13 @@ SysTrayX.Link = { }); } + const theme = response["preferences"].theme; + if (theme) { + await storage().set({ + theme: theme, + }); + } + const showNumber = response["preferences"].showNumber; if (showNumber) { await storage().set({ @@ -783,6 +831,20 @@ SysTrayX.Link = { }); } + const countType = response["preferences"].countType; + if (countType) { + await storage().set({ + countType: countType, + }); + } + + const startupDelay = response["preferences"].startupDelay; + if (startupDelay) { + await storage().set({ + startupDelay: startupDelay, + }); + } + const numberColor = response["preferences"].numberColor; if (numberColor) { await storage().set({ @@ -811,59 +873,17 @@ SysTrayX.Link = { }); } - const countType = response["preferences"].countType; - if (countType) { + const newIndicatorType = response["preferences"].newIndicatorType; + if (newIndicatorType) { await storage().set({ - countType: countType, + newIndicatorType: newIndicatorType, }); } - const startupDelay = response["preferences"].startupDelay; - if (startupDelay) { + const newShadeColor = response["preferences"].newShadeColor; + if (newShadeColor) { await storage().set({ - startupDelay: startupDelay, - }); - } - - const minimizeType = response["preferences"].minimizeType; - if (minimizeType) { - await storage().set({ - minimizeType: minimizeType, - }); - } - - const minimizeIconType = response["preferences"].minimizeIconType; - if (minimizeIconType) { - await storage().set({ - minimizeIconType: minimizeIconType, - }); - } - - const closeType = response["preferences"].closeType; - if (closeType) { - await storage().set({ - closeType: closeType, - }); - } - - const startMinimized = response["preferences"].startMinimized; - if (startMinimized) { - await storage().set({ - startMinimized: startMinimized, - }); - } - - const restorePositions = response["preferences"].restorePositions; - if (restorePositions) { - await storage().set({ - restorePositions: restorePositions, - }); - } - - const theme = response["preferences"].theme; - if (theme) { - await storage().set({ - theme: theme, + newShadeColor: newShadeColor, }); } diff --git a/webext/css/options.css b/webext/css/options.css index a9b1fcd..02b62fc 100644 --- a/webext/css/options.css +++ b/webext/css/options.css @@ -74,78 +74,17 @@ body { align-items: center; } -#minimizeselect { - width: 25em; - border-style: solid; - border-width: 1px; - margin: 10px 10px 10px 10px; - padding: 10px 10px 10px 10px; -} - -#minimizeiconselect { - width: 25em; - border-style: solid; - border-width: 1px; - margin: 10px 10px 10px 10px; - padding: 10px 10px 10px 10px; -} - -#closeselect { - width: 25em; - border-style: solid; - border-width: 1px; - margin: 10px 10px 10px 10px; - padding: 10px 10px 10px 10px; -} - -#defaulticonselect { - width: 25em; - border-style: solid; - border-width: 1px; - margin: 10px 10px 10px 10px; - padding: 10px 10px 10px 10px; -} - -#iconselect { - width: 25em; - border-style: solid; - border-width: 1px; - margin: 10px 10px 10px 10px; - padding: 10px 10px 10px 10px; -} - -#numberprops { - width: 25em; - border-style: solid; - border-width: 1px; - margin: 10px 10px 10px 10px; - padding: 10px 10px 10px 10px; -} - -#themeselect { - width: 25em; - border-style: solid; - border-width: 1px; - margin: 10px 10px 10px 10px; - padding: 10px 10px 10px 10px; -} - -#storageselect { - width: 25em; - border-style: solid; - border-width: 1px; - margin: 10px 10px 10px 10px; - padding: 10px 10px 10px 10px; -} - -#startappselect { - width: 25em; - border-style: solid; - border-width: 1px; - margin: 10px 10px 10px 10px; - padding: 10px 10px 10px 10px; -} - +#minimizeselect, +#minimizeiconselect, +#closeselect, +#defaulticonselect, +#iconselect, +#numberprops, +#themeselect, +#counttypeselect, +#newindicatorselect, +#storageselect, +#startappselect, #closeappselect { width: 25em; border-style: solid; diff --git a/webext/options.html b/webext/options.html index 362e16d..d9e13a7 100644 --- a/webext/options.html +++ b/webext/options.html @@ -333,124 +333,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - -
- __MSG_icons_number_options__ -
- - -
- - -
- - -
- -
- - - - -
- - -
- + + + - - - - +
__MSG_icons_theme__ @@ -507,30 +390,167 @@ +
+ + +
- - - - - -
+ + + + + + + +
+ __MSG_count_number_count_type__ +
+ + +
+ + +
+ + + + + + + + + + + + + + + + + +
+ __MSG_count_number_options__ +
+ + +
+ + +
+ + +
+ +
+ + + + +
+ + + + + + + + + + + +
+ __MSG_count_new_indicator__ +
+ + +
+ + +
+ + + +
diff --git a/webext/options.js b/webext/options.js index 7489176..aa0a0b4 100644 --- a/webext/options.js +++ b/webext/options.js @@ -202,6 +202,16 @@ SysTrayX.SaveOptions = { icon: iconBase64, }); + // + // Save theme preferences + // + const theme = document.querySelector('input[name="theme"]:checked').value; + + // Store theme preferences + await storage().set({ + theme: theme, + }); + // // Save show number state // @@ -223,13 +233,23 @@ SysTrayX.SaveOptions = { }); // - // Save theme preferences + // Save count type preferences // - const theme = document.querySelector('input[name="theme"]:checked').value; - - // Store theme preferences + const countType = document.querySelector( + 'input[name="countType"]:checked' + ).value; await storage().set({ - theme: theme, + countType: countType, + }); + + // + // Save startup delay + // + const startupDelay = document.querySelector( + 'input[name="startupDelay"]' + ).value; + await storage().set({ + startupDelay: startupDelay, }); // @@ -291,23 +311,24 @@ SysTrayX.SaveOptions = { }); // - // Save count type preferences + // Save new indicator type // - const countType = document.querySelector( - 'input[name="countType"]:checked' + const newIndicatorType = document.querySelector( + 'input[name="newIndicatorType"]:checked' ).value; + + // Store neew indicator type await storage().set({ - countType: countType, + newIndicatorType: newIndicatorType, }); // - // Save startup delay + // Save new shade color // - const startupDelay = document.querySelector( - 'input[name="startupDelay"]' - ).value; + let newShadeColor = document.querySelector('input[name="newShadeColor"]').value; + await storage().set({ - startupDelay: startupDelay, + newShadeColor: `${newShadeColor}`, }); // @@ -353,6 +374,16 @@ SysTrayX.RestoreOptions = { SysTrayX.RestoreOptions.onDebugError ); + // + // Restore filters + // + await storage() + .get("filters") + .then( + SysTrayX.RestoreOptions.setFilters, + SysTrayX.RestoreOptions.onFiltersError + ); + // // Restore minimize type // @@ -454,13 +485,13 @@ SysTrayX.RestoreOptions = { ); // - // Restore filters + // Restore theme // await storage() - .get("filters") + .get("theme") .then( - SysTrayX.RestoreOptions.setFilters, - SysTrayX.RestoreOptions.onFiltersError + SysTrayX.RestoreOptions.setTheme, + SysTrayX.RestoreOptions.onThemeError ); // @@ -483,6 +514,26 @@ SysTrayX.RestoreOptions = { SysTrayX.RestoreOptions.onShowNewIndicatorError ); + // + // Restore count type + // + await storage() + .get("countType") + .then( + SysTrayX.RestoreOptions.setCountType, + SysTrayX.RestoreOptions.onCountTypeError + ); + + // + // Restore startup delay + // + await storage() + .get("startupDelay") + .then( + SysTrayX.RestoreOptions.setStartupDelay, + SysTrayX.RestoreOptions.ontartupDelayError + ); + // // Restore number color // @@ -524,33 +575,23 @@ SysTrayX.RestoreOptions = { ); // - // Restore count type + // Restore new indicator type // await storage() - .get("countType") + .get("newIndicatorType") .then( - SysTrayX.RestoreOptions.setCountType, - SysTrayX.RestoreOptions.onCountTypeError + SysTrayX.RestoreOptions.setNewIndicatorType, + SysTrayX.RestoreOptions.onNewIndicatorTypeError ); // - // Restore startup delay + // Restore new shade color // await storage() - .get("startupDelay") + .get("newShadeColor") .then( - SysTrayX.RestoreOptions.setStartupDelay, - SysTrayX.RestoreOptions.ontartupDelayError - ); - - // - // Restore theme - // - await storage() - .get("theme") - .then( - SysTrayX.RestoreOptions.setTheme, - SysTrayX.RestoreOptions.onThemeError + SysTrayX.RestoreOptions.setNewShadeColor, + SysTrayX.RestoreOptions.onNewShadeColorError ); // @@ -849,6 +890,22 @@ SysTrayX.RestoreOptions = { console.log(`Icon Error: ${error}`); }, + // + // Restore theme callbacks + // + setTheme: function (result) { + const theme = result.theme || "0"; + + const radioButton = document.querySelector( + `input[name="theme"][value="${theme}"]` + ); + radioButton.checked = true; + }, + + onThemeError: function (error) { + console.log(`Theme Error: ${error}`); + }, + // // Restore show number state // @@ -877,6 +934,36 @@ SysTrayX.RestoreOptions = { console.log(`showNewIndicator Error: ${error}`); }, + // + // Restore count type + // + setCountType: function (result) { + const countType = result.countType || "0"; + + const radioButton = document.querySelector( + `input[name="countType"][value="${countType}"]` + ); + radioButton.checked = true; + }, + + onCountTypeError: function (error) { + console.log(`countType Error: ${error}`); + }, + + // + // Restore startup delay + // + setStartupDelay: function (result) { + const startupDelay = result.startupDelay || "5"; + + const input = document.querySelector(`input[name="startupDelay"]`); + input.value = startupDelay; + }, + + onStartupDelayError: function (error) { + console.log(`StartupDelay Error: ${error}`); + }, + // // Restore number color // @@ -952,49 +1039,33 @@ SysTrayX.RestoreOptions = { }, // - // Restore count type + // Restore new indicator type // - setCountType: function (result) { - const countType = result.countType || "0"; + setNewIndicatorType: function (result) { + const newIndicatorType = result.newIndicatorType || "2"; const radioButton = document.querySelector( - `input[name="countType"][value="${countType}"]` + `input[name="newIndicatorType"][value="${newIndicatorType}"]` ); radioButton.checked = true; }, - onCountTypeError: function (error) { - console.log(`countType Error: ${error}`); + onNewIndicatorTypeError: function (error) { + console.log(`newIndicatorType Error: ${error}`); }, // - // Restore startup delay + // Restore number color // - setStartupDelay: function (result) { - const startupDelay = result.startupDelay || "5"; + setNewShadeColor: function (result) { + const newShadeColor = result.newShadeColor || "#ff8000"; - const input = document.querySelector(`input[name="startupDelay"]`); - input.value = startupDelay; + const input = document.querySelector(`input[name="newShadeColor"]`); + input.value = newShadeColor; }, - onStartupDelayError: function (error) { - console.log(`StartupDelay Error: ${error}`); - }, - - // - // Restore theme callbacks - // - setTheme: function (result) { - const theme = result.theme || "0"; - - const radioButton = document.querySelector( - `input[name="theme"][value="${theme}"]` - ); - radioButton.checked = true; - }, - - onThemeError: function (error) { - console.log(`Theme Error: ${error}`); + onNewShadeColorError: function (error) { + console.log(`newShadeColor Error: ${error}`); }, // @@ -1201,6 +1272,31 @@ SysTrayX.StorageChanged = { let changed_icon = false; let changed_default_icon = false; for (let item of changedItems) { + if (item === "minimizeType") { + SysTrayX.RestoreOptions.setMinimizeType({ + minimizeType: changes[item].newValue, + }); + } + if (item === "minimizeIconType") { + SysTrayX.RestoreOptions.setMinimizeIconType({ + minimizeIconType: changes[item].newValue, + }); + } + if (item === "closeType") { + SysTrayX.RestoreOptions.setCloseType({ + closeType: changes[item].newValue, + }); + } + if (item === "startMinimized") { + SysTrayX.RestoreOptions.setStartMinimized({ + startMinimized: changes[item].newValue, + }); + } + if (item === "restorePositions") { + SysTrayX.RestoreOptions.setRestorePositions({ + restorePositions: changes[item].newValue, + }); + } if (item === "iconMime") { SysTrayX.RestoreOptions.setIconMime({ iconMime: changes[item].newValue, @@ -1238,6 +1334,11 @@ SysTrayX.StorageChanged = { hideDefaultIcon: changes[item].newValue, }); } + if (item === "theme") { + SysTrayX.RestoreOptions.setTheme({ + theme: changes[item].newValue, + }); + } if (item === "showNumber") { SysTrayX.RestoreOptions.setShowNumber({ showNumber: changes[item].newValue, @@ -1248,6 +1349,16 @@ SysTrayX.StorageChanged = { showNewIndicator: changes[item].newValue, }); } + if (item === "countType") { + SysTrayX.RestoreOptions.setCountType({ + countType: changes[item].newValue, + }); + } + if (item === "startupDelay") { + SysTrayX.RestoreOptions.setStartupDelay({ + startupDelay: changes[item].newValue, + }); + } if (item === "numberColor") { SysTrayX.RestoreOptions.setNumberColor({ numberColor: changes[item].newValue, @@ -1268,44 +1379,14 @@ SysTrayX.StorageChanged = { numberMargins: changes[item].newValue, }); } - if (item === "countType") { - SysTrayX.RestoreOptions.setCountType({ - countType: changes[item].newValue, + if (item === "newIndicatorType") { + SysTrayX.RestoreOptions.setIndicatorType({ + newIndicatorType: changes[item].newValue, }); } - if (item === "startupDelay") { - SysTrayX.RestoreOptions.setStartupDelay({ - startupDelay: changes[item].newValue, - }); - } - if (item === "minimizeType") { - SysTrayX.RestoreOptions.setMinimizeType({ - minimizeType: changes[item].newValue, - }); - } - if (item === "minimizeIconType") { - SysTrayX.RestoreOptions.setMinimizeIconType({ - minimizeIconType: changes[item].newValue, - }); - } - if (item === "closeType") { - SysTrayX.RestoreOptions.setCloseType({ - closeType: changes[item].newValue, - }); - } - if (item === "startMinimized") { - SysTrayX.RestoreOptions.setStartMinimized({ - startMinimized: changes[item].newValue, - }); - } - if (item === "restorePositions") { - SysTrayX.RestoreOptions.setRestorePositions({ - restorePositions: changes[item].newValue, - }); - } - if (item === "theme") { - SysTrayX.RestoreOptions.setTheme({ - theme: changes[item].newValue, + if (item === "newShadeColor") { + SysTrayX.RestoreOptions.setNewShadeColor({ + newShadeColor: changes[item].newValue, }); } if (item === "startApp") { @@ -1360,6 +1441,7 @@ SysTrayX.StorageChanged = { document.getElementById("minimizeiconselect").className = "active"; document.getElementById("closeselect").className = "active"; document.getElementById("themeselect").className = "active"; + document.getElementById("newindicatorselect").className = "active"; document.getElementById("startappselect").className = "active"; document.getElementById("closeappselect").className = "active"; },