diff --git a/chrome/content/zotero/preferences/preferences_general.xhtml b/chrome/content/zotero/preferences/preferences_general.xhtml index 00f7d2901c..df0d2d6688 100644 --- a/chrome/content/zotero/preferences/preferences_general.xhtml +++ b/chrome/content/zotero/preferences/preferences_general.xhtml @@ -237,6 +237,14 @@ + + + + diff --git a/chrome/content/zotero/xpcom/reader.js b/chrome/content/zotero/xpcom/reader.js index 94b423e9e9..7b5393baff 100644 --- a/chrome/content/zotero/xpcom/reader.js +++ b/chrome/content/zotero/xpcom/reader.js @@ -266,6 +266,7 @@ class ReaderInstance { readAloudEnabledVoices: await this._getReadAloudEnabledVoices(), readAloudRemoteInterface: this._getReadAloudRemoteInterface(this._iframeWindow), readAloudHighlightGranularity: Zotero.Prefs.get('reader.readAloud.highlightGranularity'), + readAloudVerticalControls: Zotero.Prefs.get('reader.readAloud.verticalControls'), getSDTPack: this._createGetSDTPack(this._iframeWindow), loggedIn: Zotero.Sync.Runner.enabled, onOpenContextMenu: () => { @@ -669,6 +670,7 @@ class ReaderInstance { Zotero.Prefs.registerObserver('reader.popupPositions', this._handlePopupPositionsPrefChange), Zotero.Prefs.registerObserver('reader.readAloudVoices', this._handleReadAloudVoicesPrefChange), Zotero.Prefs.registerObserver('reader.readAloud.highlightGranularity', this._handleReadAloudHighlightGranularityChange), + Zotero.Prefs.registerObserver('reader.readAloud.verticalControls', this._handleReadAloudVerticalControlsChange), ]; return true; @@ -1244,6 +1246,12 @@ class ReaderInstance { ); }; + _handleReadAloudVerticalControlsChange = () => { + this._internalReader.setReadAloudVerticalControls( + Zotero.Prefs.get('reader.readAloud.verticalControls') + ); + }; + _handleReadAloudEnabledVoicesChange = async (voices) => { if (!voices) { voices = await this._getReadAloudEnabledVoices(); diff --git a/chrome/locale/en-US/zotero/preferences.ftl b/chrome/locale/en-US/zotero/preferences.ftl index a9ae6dbf8f..7db84a21e3 100644 --- a/chrome/locale/en-US/zotero/preferences.ftl +++ b/chrome/locale/en-US/zotero/preferences.ftl @@ -36,6 +36,8 @@ preferences-read-aloud-highlight-granularity-sentence = .label = sentence preferences-read-aloud-highlight-granularity-word = .label = word +preferences-read-aloud-vertical-controls = + .label = Show playback controls vertically preferences-note-title = Notes preferences-note-open-in-new-window = diff --git a/defaults/preferences/zotero.js b/defaults/preferences/zotero.js index 0d93ba0287..3176966d46 100644 --- a/defaults/preferences/zotero.js +++ b/defaults/preferences/zotero.js @@ -251,6 +251,7 @@ pref("extensions.zotero.reader.autoDisableTool.image", true); pref("extensions.zotero.reader.lastSidebarTab", "annotations"); pref("extensions.zotero.reader.popupPositions", "{}"); pref("extensions.zotero.reader.readAloud.highlightGranularity", "sentence"); +pref("extensions.zotero.reader.readAloud.verticalControls", false); // Set color scheme to auto by default pref("browser.theme.toolbar-theme", 2);