Read Aloud: Support vertical popup

This commit is contained in:
Abe Jellinek 2026-08-27 15:22:09 -04:00
parent c2052cfff1
commit 12eb4f720a
4 changed files with 19 additions and 0 deletions

View file

@ -237,6 +237,14 @@
</menupopup>
</menulist>
</hbox>
<vbox>
<checkbox
preference="extensions.zotero.reader.readAloud.verticalControls"
data-l10n-id="preferences-read-aloud-vertical-controls"
native="true"
/>
</vbox>
</groupbox>
<groupbox id="zotero-prefpane-note-groupbox" aria-labelledby="preferences-note-title">

View file

@ -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();

View file

@ -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 =

View file

@ -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);