diff --git a/locales/en-US/browser/browser/preferences/zen-preferences.ftl b/locales/en-US/browser/browser/preferences/zen-preferences.ftl index 6ec2bcf30..b403bad5a 100644 --- a/locales/en-US/browser/browser/preferences/zen-preferences.ftl +++ b/locales/en-US/browser/browser/preferences/zen-preferences.ftl @@ -358,4 +358,5 @@ zen-devtools-toggle-dom-shortcut = Toggle DOM zen-devtools-toggle-accessibility-shortcut = Toggle Accessibility zen-close-all-unpinned-tabs-shortcut = Close All Unpinned Tabs zen-new-unsynced-window-shortcut = New Blank Window -zen-duplicate-tab-shortcut = Duplicate Tab \ No newline at end of file +zen-duplicate-tab-shortcut = Duplicate Tab +zen-key-find-selection = Find Selection diff --git a/src/browser/components/preferences/zen-settings.js b/src/browser/components/preferences/zen-settings.js index 052f0217c..2d6bef1a8 100644 --- a/src/browser/components/preferences/zen-settings.js +++ b/src/browser/components/preferences/zen-settings.js @@ -793,6 +793,7 @@ const zenMissingKeyboardShortcutL10n = { key_selectTab7: "zen-key-select-tab-7", key_selectTab8: "zen-key-select-tab-8", key_selectLastTab: "zen-key-select-tab-last", + key_duplicateTab: "customkeys-file-duplicate-tab", key_showAllTabs: "zen-key-show-all-tabs", key_gotoHistory: "zen-key-goto-history", @@ -801,6 +802,7 @@ const zenMissingKeyboardShortcutL10n = { key_redo: "zen-key-redo", key_inspectorMac: "zen-key-inspector-mac", + key_findSelection: "zen-key-find-selection", // Devtools key_toggleToolbox: "zen-devtools-toggle-shortcut", diff --git a/src/zen/kbs/ZenKeyboardShortcuts.mjs b/src/zen/kbs/ZenKeyboardShortcuts.mjs index 8073afd22..b13ec6447 100644 --- a/src/zen/kbs/ZenKeyboardShortcuts.mjs +++ b/src/zen/kbs/ZenKeyboardShortcuts.mjs @@ -433,11 +433,14 @@ class KeyShortcut { if (this.#keycode) { key.setAttribute("keycode", this.#keycode); key.removeAttribute("key"); - } else { + } else if (this.#key) { // note to "mr. macos": Better use setAttribute, because without it, there's a // risk of malforming the XUL element. key.setAttribute("key", this.#key); key.removeAttribute("keycode"); + } else { + key.removeAttribute("key"); + key.removeAttribute("keycode"); } key.setAttribute("group", this.#group); @@ -845,7 +848,7 @@ class nsZenKeyboardShortcutsLoader { } class nsZenKeyboardShortcutsVersioner { - static LATEST_KBS_VERSION = 18; + static LATEST_KBS_VERSION = 19; constructor() {} @@ -1241,6 +1244,18 @@ class nsZenKeyboardShortcutsVersioner { ); } + if (version < 19) { + // Migrate from version 18 to 19. + // Disable "key_duplicateTab" since we already had "cmd_zenDuplicateTab" before Firefox 151. + for (let shortcut of data) { + if (shortcut.getID() == "key_duplicateTab") { + shortcut.shouldBeEmpty = true; + shortcut.setDisabled(true); + break; + } + } + } + return data; } }