diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/js/display/display.js | 5 | ||||
-rw-r--r-- | ext/js/pages/settings/keyboard-shortcuts-controller.js | 1 | ||||
-rw-r--r-- | ext/settings.html | 13 |
3 files changed, 19 insertions, 0 deletions
diff --git a/ext/js/display/display.js b/ext/js/display/display.js index b0805aca..3ae55da0 100644 --- a/ext/js/display/display.js +++ b/ext/js/display/display.js @@ -126,6 +126,7 @@ class Display extends EventDispatcher { ['addNoteTermKana', () => { this._tryAddAnkiNoteForSelectedDefinition('term-kana'); }], ['viewNote', () => { this._tryViewAnkiNoteForSelectedDefinition(); }], ['playAudio', () => { this._playAudioCurrent(); }], + ['playAudioFromSource', this._onHotkeyActionPlayAudioFromSource.bind(this)], ['copyHostSelection', () => this._copyHostSelection()], ['nextEntryDifferentDictionary', () => { this._focusEntryWithDifferentDictionary(1, true); }], ['previousEntryDifferentDictionary', () => { this._focusEntryWithDifferentDictionary(-1, true); }] @@ -1830,6 +1831,10 @@ class Display extends EventDispatcher { this._focusEntry(this._index + count * sign, true); } + _onHotkeyActionPlayAudioFromSource(source) { + this._displayAudio.playAudio(this._index, 0, [source]); + } + _closeAllPopupMenus() { for (const popupMenu of PopupMenu.openMenus) { popupMenu.close(); diff --git a/ext/js/pages/settings/keyboard-shortcuts-controller.js b/ext/js/pages/settings/keyboard-shortcuts-controller.js index a63430ee..7dbf5aa2 100644 --- a/ext/js/pages/settings/keyboard-shortcuts-controller.js +++ b/ext/js/pages/settings/keyboard-shortcuts-controller.js @@ -48,6 +48,7 @@ class KeyboardShortcutController { ['addNoteTermKana', {scopes: new Set(['popup', 'search'])}], ['viewNote', {scopes: new Set(['popup', 'search'])}], ['playAudio', {scopes: new Set(['popup', 'search'])}], + ['playAudioFromSource', {scopes: new Set(['popup', 'search']), argument: {template: 'hotkey-argument-audio-source', default: 'jpod101'}}], ['copyHostSelection', {scopes: new Set(['popup'])}], ['scanSelectedText', {scopes: new Set(['web'])}] ]); diff --git a/ext/settings.html b/ext/settings.html index 8a2c1308..e9f27751 100644 --- a/ext/settings.html +++ b/ext/settings.html @@ -3169,6 +3169,7 @@ <option value="addNoteTermKana">Add term note (reading)</option> <option value="viewNote">View note</option> <option value="playAudio">Play audio</option> + <option value="playAudioFromSource">Play audio from source</option> <option value="copyHostSelection">Copy host window selection</option> <option value="scanSelectedText">Scan selected text</option> </select> @@ -3220,6 +3221,18 @@ <input type="number" step="1" min="1" class="hotkey-argument-input"> </div></template> +<template id="hotkey-argument-audio-source-template"><div class="flex-row-nowrap"> + <span class="hotkey-argument-label">Source:</span> + <select class="audio-source-select hotkey-argument-input"> + <option value="jpod101">JapanesePod101</option> + <option value="jpod101-alternate">JapanesePod101 (Alternate)</option> + <option value="jisho">Jisho.org</option> + <option value="text-to-speech">Text-to-speech</option> + <option value="text-to-speech-reading">Text-to-speech (Kana reading)</option> + <option value="custom">Custom</option> + </select> +</div></template> + <!-- Scripts --> <script src="/lib/jszip.min.js"></script> |