diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json index 63fdd96..3a84baf 100644 --- a/src/_locales/de/messages.json +++ b/src/_locales/de/messages.json @@ -68,6 +68,9 @@ "omnibox_command_check_unknowns": { "message": "Prüfe deine Lesezeichen nur auf welche, deren Status nicht ermittelt werden kann" }, + "option_debug_label": { + "message": "Debug-Option aktivieren" + }, "search_label": { "message" : "Titel oder URL…" } diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 63fdd96..3a84baf 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -68,6 +68,9 @@ "omnibox_command_check_unknowns": { "message": "Prüfe deine Lesezeichen nur auf welche, deren Status nicht ermittelt werden kann" }, + "option_debug_label": { + "message": "Debug-Option aktivieren" + }, "search_label": { "message" : "Titel oder URL…" } diff --git a/src/css/ui.css b/src/css/ui.css index f7e7c6c..3e754b7 100644 --- a/src/css/ui.css +++ b/src/css/ui.css @@ -81,6 +81,15 @@ footer a { display: none; } +.vertical-align > div { + display: table-cell; + vertical-align: middle; +} + +.vertical-align label { + margin-left: 5px; +} + #counters { margin-bottom: 20px; font-weight: bold; diff --git a/src/html/options.html b/src/html/options.html new file mode 100644 index 0000000..b4a0315 --- /dev/null +++ b/src/html/options.html @@ -0,0 +1,32 @@ + + + + + __MSG_extension_name__ + + + + +
+

__MSG_extension_name__

+
+ +
+
+
+
+
+
+
+
+
+
+ + + + + diff --git a/src/js/background.js b/src/js/background.js index cc80c05..3397f12 100644 --- a/src/js/background.js +++ b/src/js/background.js @@ -2,10 +2,10 @@ const bookmarkchecker = { UI_PAGE : 'html/ui.html', - DEBUG_MODE : false, LIMIT : 0, TIMEOUT : 0, ATTEMPTS : 2, + debug_enabled : false, inProgress : false, internalCounter : 0, totalBookmarks : 0, @@ -109,6 +109,10 @@ const bookmarkchecker = { bookmarkchecker.bookmarksResult = []; bookmarkchecker.debug = []; + browser.storage.local.get('debug_enabled', function (result) { + bookmarkchecker.debug_enabled = result.debug_enabled; + }); + browser.bookmarks.getTree().then((bookmarks) => { bookmarkchecker.checkBookmarks(bookmarks[0], 'check', type); }); @@ -233,7 +237,7 @@ const bookmarkchecker = { bookmark.status = response.status; } - if (bookmarkchecker.DEBUG_MODE) { + if (bookmarkchecker.debug_enabled) { bookmarkchecker.debug.push({ bookmark : { id : bookmark.id, @@ -262,7 +266,7 @@ const bookmarkchecker = { bookmark.status = STATUS.NOT_FOUND; } - if (bookmarkchecker.DEBUG_MODE) { + if (bookmarkchecker.debug_enabled) { bookmarkchecker.debug.push({ bookmark : { id : bookmark.id, diff --git a/src/js/options.js b/src/js/options.js new file mode 100644 index 0000000..6855a6a --- /dev/null +++ b/src/js/options.js @@ -0,0 +1,20 @@ +'use strict'; + +const elDebug = document.querySelector('#debug'); + +const options = { + load : function () { + function setDebugOption(result) { + elDebug.checked = result.debug_enabled || false; + } + + let debug = browser.storage.local.get('debug_enabled'); + debug.then(setDebugOption); + } +}; + +document.addEventListener('DOMContentLoaded', options.load); + +elDebug.addEventListener('change', function () { + browser.storage.local.set({ 'debug_enabled' : this.checked }); +}); diff --git a/src/manifest.json b/src/manifest.json index 2774bf0..265a146 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -26,10 +26,15 @@ "omnibox": { "keyword" : "bookmarks" }, + "options_ui": { + "page": "html/options.html", + "open_in_tab": true + }, "permissions": [ + "", "bookmarks", - "tabs", - "" + "storage", + "tabs" ], "default_locale": "en", "applications": {