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__
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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": {