diff --git a/public_html/js/BrowsingSettings.js b/public_html/js/BrowsingSettings.js index 0f9e2b3b..79c8a881 100644 --- a/public_html/js/BrowsingSettings.js +++ b/public_html/js/BrowsingSettings.js @@ -32,6 +32,7 @@ App.BrowsingSettings = function( sketchy: true, unsafe: true, }, + keyboardShortcuts: true, }; } diff --git a/public_html/js/Keyboard.js b/public_html/js/Keyboard.js index 548ca9f8..33dd3f8f 100644 --- a/public_html/js/Keyboard.js +++ b/public_html/js/Keyboard.js @@ -1,7 +1,8 @@ var App = App || {}; -App.Keyboard = function(jQuery, mousetrap) { +App.Keyboard = function(jQuery, mousetrap, browsingSettings) { + var enabled = browsingSettings.getSettings().keyboardShortcuts; var oldStopCallback = mousetrap.stopCallback; mousetrap.stopCallback = function(e, element, combo, sequence) { if (combo.indexOf('ctrl') === -1 && e.ctrlKey) { @@ -28,12 +29,16 @@ App.Keyboard = function(jQuery, mousetrap) { function keyup(key, callback) { unbind(key); - mousetrap.bind(key, callback, 'keyup'); + if (enabled) { + mousetrap.bind(key, callback, 'keyup'); + } } function keydown(key, callback) { unbind(key); - mousetrap.bind(key, callback); + if (enabled) { + mousetrap.bind(key, callback); + } } function reset() { @@ -53,4 +58,4 @@ App.Keyboard = function(jQuery, mousetrap) { }; }; -App.DI.register('keyboard', ['jQuery', 'mousetrap'], App.Keyboard); +App.DI.register('keyboard', ['jQuery', 'mousetrap', 'browsingSettings'], App.Keyboard); diff --git a/public_html/js/Presenters/UserBrowsingSettingsPresenter.js b/public_html/js/Presenters/UserBrowsingSettingsPresenter.js index 589de54a..fe15df4f 100644 --- a/public_html/js/Presenters/UserBrowsingSettingsPresenter.js +++ b/public_html/js/Presenters/UserBrowsingSettingsPresenter.js @@ -51,6 +51,7 @@ App.Presenters.UserBrowsingSettingsPresenter = function( sketchy: $el.find('[name=listSketchyPosts]').is(':checked'), unsafe: $el.find('[name=listUnsafePosts]').is(':checked'), }, + keyboardShortcuts: $el.find('[name=keyboardShortcuts]').is(':checked'), }; promise.wait(browsingSettings.setSettings(newSettings)) diff --git a/public_html/templates/browsing-settings.tpl b/public_html/templates/browsing-settings.tpl index ff66c4b6..bbf428de 100644 --- a/public_html/templates/browsing-settings.tpl +++ b/public_html/templates/browsing-settings.tpl @@ -41,6 +41,16 @@ +