diff --git a/core/constants.js b/core/constants.js index d732283f..c1d45d4c 100644 --- a/core/constants.js +++ b/core/constants.js @@ -75,7 +75,7 @@ const Setting = { 'STATISTIC_DATA': 'statisticData', 'NEGATE_HTML_FILTER_LIST': 'negateHtmlFilterList', 'BLOCK_GOOGLE_FONTS': 'blockGoogleFonts', - 'USE_MONOCHROME_ICONS': 'useMonochromeIcons' + 'SELECTED_ICON': 'selectedIcon' }; const WebRequest = { @@ -101,8 +101,8 @@ const BrowserType = { }; const IconType = { - 'Enabled': { - 'Green': { + 'Default': { + 'Enabled': { '16': chrome.runtime.getURL('icons/action/icon16-default.png'), '18': chrome.runtime.getURL('icons/action/icon18-default.png'), '19': chrome.runtime.getURL('icons/action/icon19-default.png'), @@ -111,18 +111,7 @@ const IconType = { '38': chrome.runtime.getURL('icons/action/icon38-default.png'), '64': chrome.runtime.getURL('icons/action/icon64-default.png') }, - 'White': { - '16': chrome.runtime.getURL('icons/action/mono/icon16-default.png'), - '18': chrome.runtime.getURL('icons/action/mono/icon18-default.png'), - '19': chrome.runtime.getURL('icons/action/mono/icon19-default.png'), - '32': chrome.runtime.getURL('icons/action/mono/icon32-default.png'), - '36': chrome.runtime.getURL('icons/action/mono/icon36-default.png'), - '38': chrome.runtime.getURL('icons/action/mono/icon38-default.png'), - '64': chrome.runtime.getURL('icons/action/mono/icon64-default.png') - } - }, - 'Disabled': { - 'Red': { + 'Disabled': { '16': chrome.runtime.getURL('icons/action/icon16-disabled.png'), '18': chrome.runtime.getURL('icons/action/icon18-disabled.png'), '19': chrome.runtime.getURL('icons/action/icon19-disabled.png'), @@ -130,8 +119,39 @@ const IconType = { '36': chrome.runtime.getURL('icons/action/icon36-disabled.png'), '38': chrome.runtime.getURL('icons/action/icon38-disabled.png'), '64': chrome.runtime.getURL('icons/action/icon64-disabled.png') + } + }, + 'Light': { + 'Enabled': { + '16': chrome.runtime.getURL('icons/action/brighter/icon16-default.png'), + '18': chrome.runtime.getURL('icons/action/brighter/icon18-default.png'), + '19': chrome.runtime.getURL('icons/action/brighter/icon19-default.png'), + '32': chrome.runtime.getURL('icons/action/brighter/icon32-default.png'), + '36': chrome.runtime.getURL('icons/action/brighter/icon36-default.png'), + '38': chrome.runtime.getURL('icons/action/brighter/icon38-default.png'), + '64': chrome.runtime.getURL('icons/action/brighter/icon64-default.png') }, - 'White': { + 'Disabled': { + '16': chrome.runtime.getURL('icons/action/brighter/icon16-disabled.png'), + '18': chrome.runtime.getURL('icons/action/brighter/icon18-disabled.png'), + '19': chrome.runtime.getURL('icons/action/brighter/icon19-disabled.png'), + '32': chrome.runtime.getURL('icons/action/brighter/icon32-disabled.png'), + '36': chrome.runtime.getURL('icons/action/brighter/icon36-disabled.png'), + '38': chrome.runtime.getURL('icons/action/brighter/icon38-disabled.png'), + '64': chrome.runtime.getURL('icons/action/brighter/icon64-disabled.png') + } + }, + 'Monochrome': { + 'Enabled': { + '16': chrome.runtime.getURL('icons/action/mono/icon16-default.png'), + '18': chrome.runtime.getURL('icons/action/mono/icon18-default.png'), + '19': chrome.runtime.getURL('icons/action/mono/icon19-default.png'), + '32': chrome.runtime.getURL('icons/action/mono/icon32-default.png'), + '36': chrome.runtime.getURL('icons/action/mono/icon36-default.png'), + '38': chrome.runtime.getURL('icons/action/mono/icon38-default.png'), + '64': chrome.runtime.getURL('icons/action/mono/icon64-default.png') + }, + 'Disabled': { '16': chrome.runtime.getURL('icons/action/mono/icon16-disabled.png'), '18': chrome.runtime.getURL('icons/action/mono/icon18-disabled.png'), '19': chrome.runtime.getURL('icons/action/mono/icon19-disabled.png'), diff --git a/core/main.js b/core/main.js index 44a4c438..68271a8d 100644 --- a/core/main.js +++ b/core/main.js @@ -43,7 +43,7 @@ main._initializeSettings = function () { [Setting.DOMAINS_MANIPULATE_DOM]: {}, [Setting.NEGATE_HTML_FILTER_LIST]: false, [Setting.BLOCK_GOOGLE_FONTS]: true, - [Setting.USE_MONOCHROME_ICONS]: false + [Setting.SELECTED_ICON]: 'Default' }; chrome.storage.sync.get(settingDefaults, function (items) { @@ -58,10 +58,10 @@ main._initializeSettings = function () { 'value': false }); } - stateManager.useMonochromeIcons = items.useMonochromeIcons; + stateManager.selectedIcon = items.selectedIcon; wrappers.setIcon({ - 'path': stateManager.useMonochromeIcons ? IconType.Enabled.White : IconType.Enabled.Green, - }); + 'path': stateManager.selectedIcon + }, 'Enabled'); chrome.storage.sync.set(items); }); diff --git a/core/state-manager.js b/core/state-manager.js index 3596b0dc..bec18593 100644 --- a/core/state-manager.js +++ b/core/state-manager.js @@ -212,8 +212,8 @@ stateManager._handleStorageChanged = function (changes) { if (Setting.NEGATE_HTML_FILTER_LIST in changes) { stateManager.getInvertOption = changes.negateHtmlFilterList.newValue; } - if (Setting.USE_MONOCHROME_ICONS in changes) { - stateManager.useMonochromeIcons = changes.useMonochromeIcons.newValue; + if (Setting.SELECTED_ICON in changes) { + stateManager.selectedIcon = changes.selectedIcon.newValue; } }; @@ -252,9 +252,9 @@ stateManager._domainIsListed = function (domain, listname) { stateManager._setIconDisabled = function (tabIdentifier) { wrappers.setIcon({ - 'path': stateManager.useMonochromeIcons ? IconType.Disabled.White : IconType.Disabled.Red, + 'path': stateManager.selectedIcon, 'tabId': tabIdentifier - }); + }, 'Disabled'); }; @@ -266,7 +266,7 @@ stateManager.requests = {}; stateManager.tabs = {}; stateManager.getInvertOption = false; stateManager.validHosts = []; -stateManager.useMonochromeIcons = false; +stateManager.selectedIcon = 'Default'; for (let mapping in mappings) { @@ -278,13 +278,16 @@ chrome.tabs.query({}, function (tabs) { tabs.forEach(stateManager._createTab); }); -chrome.storage.sync.get([Setting.SHOW_ICON_BADGE], function (items) { +chrome.storage.sync.get([Setting.SHOW_ICON_BADGE, Setting.SELECTED_ICON], function (items) { if (items.showIconBadge === undefined) { items.showIconBadge = true; } - + if (items.selectedIcon === undefined) { + stateManager.selectedIcon = 'Default'; + } stateManager.showIconBadge = items.showIconBadge; + stateManager.selectedIcon = items.selectedIcon; }); /** diff --git a/icons/action/brighter/icon128.png b/icons/action/brighter/icon128.png new file mode 100644 index 00000000..28d5e3cd Binary files /dev/null and b/icons/action/brighter/icon128.png differ diff --git a/icons/action/brighter/icon16-default.png b/icons/action/brighter/icon16-default.png new file mode 100644 index 00000000..c50f6846 Binary files /dev/null and b/icons/action/brighter/icon16-default.png differ diff --git a/icons/action/brighter/icon16-disabled.png b/icons/action/brighter/icon16-disabled.png new file mode 100644 index 00000000..bd5ffb4e Binary files /dev/null and b/icons/action/brighter/icon16-disabled.png differ diff --git a/icons/action/brighter/icon16.png b/icons/action/brighter/icon16.png new file mode 100644 index 00000000..f63b17fa Binary files /dev/null and b/icons/action/brighter/icon16.png differ diff --git a/icons/action/brighter/icon18-default.png b/icons/action/brighter/icon18-default.png new file mode 100644 index 00000000..4f54fb8f Binary files /dev/null and b/icons/action/brighter/icon18-default.png differ diff --git a/icons/action/brighter/icon18-disabled.png b/icons/action/brighter/icon18-disabled.png new file mode 100644 index 00000000..cb71c621 Binary files /dev/null and b/icons/action/brighter/icon18-disabled.png differ diff --git a/icons/action/brighter/icon19-default.png b/icons/action/brighter/icon19-default.png new file mode 100644 index 00000000..a143074e Binary files /dev/null and b/icons/action/brighter/icon19-default.png differ diff --git a/icons/action/brighter/icon19-disabled.png b/icons/action/brighter/icon19-disabled.png new file mode 100644 index 00000000..6c7af4a7 Binary files /dev/null and b/icons/action/brighter/icon19-disabled.png differ diff --git a/icons/action/brighter/icon32-default.png b/icons/action/brighter/icon32-default.png new file mode 100644 index 00000000..102f845c Binary files /dev/null and b/icons/action/brighter/icon32-default.png differ diff --git a/icons/action/brighter/icon32-disabled.png b/icons/action/brighter/icon32-disabled.png new file mode 100644 index 00000000..0c984d8c Binary files /dev/null and b/icons/action/brighter/icon32-disabled.png differ diff --git a/icons/action/brighter/icon36-default.png b/icons/action/brighter/icon36-default.png new file mode 100644 index 00000000..e7101a2a Binary files /dev/null and b/icons/action/brighter/icon36-default.png differ diff --git a/icons/action/brighter/icon36-disabled.png b/icons/action/brighter/icon36-disabled.png new file mode 100644 index 00000000..98607dc4 Binary files /dev/null and b/icons/action/brighter/icon36-disabled.png differ diff --git a/icons/action/brighter/icon38-default.png b/icons/action/brighter/icon38-default.png new file mode 100644 index 00000000..42adb7b7 Binary files /dev/null and b/icons/action/brighter/icon38-default.png differ diff --git a/icons/action/brighter/icon38-disabled.png b/icons/action/brighter/icon38-disabled.png new file mode 100644 index 00000000..c3599953 Binary files /dev/null and b/icons/action/brighter/icon38-disabled.png differ diff --git a/icons/action/brighter/icon48.png b/icons/action/brighter/icon48.png new file mode 100644 index 00000000..d8840224 Binary files /dev/null and b/icons/action/brighter/icon48.png differ diff --git a/icons/action/brighter/icon64-default.png b/icons/action/brighter/icon64-default.png new file mode 100644 index 00000000..f710535c Binary files /dev/null and b/icons/action/brighter/icon64-default.png differ diff --git a/icons/action/brighter/icon64-disabled.png b/icons/action/brighter/icon64-disabled.png new file mode 100644 index 00000000..8acf8233 Binary files /dev/null and b/icons/action/brighter/icon64-disabled.png differ diff --git a/icons/action/brighter/icon96.png b/icons/action/brighter/icon96.png new file mode 100644 index 00000000..39b34fa9 Binary files /dev/null and b/icons/action/brighter/icon96.png differ diff --git a/modules/internal/wrappers.js b/modules/internal/wrappers.js index 432ffda0..a50a637b 100644 --- a/modules/internal/wrappers.js +++ b/modules/internal/wrappers.js @@ -44,9 +44,10 @@ wrappers.setBadgeTextColor = function (details) { } }; -wrappers.setIcon = function (details) { +wrappers.setIcon = function (details, type) { if (chrome.browserAction.setIcon !== undefined) { + details.path = IconType[details.path][type]; chrome.browserAction.setIcon(details); } }; diff --git a/pages/options/options.html b/pages/options/options.html index 59597041..bf6ea134 100644 --- a/pages/options/options.html +++ b/pages/options/options.html @@ -102,15 +102,18 @@