Adjust PDF reader and context pane UI based on font size pref

Fixes #2809

(cherry picked from commit 64897455f4)
This commit is contained in:
Martynas Bagdonas 2022-09-09 18:03:20 +03:00
parent 94392fce96
commit 20aa40c5d2
5 changed files with 19 additions and 1 deletions

View file

@ -230,6 +230,7 @@ Zotero.Prefs = new function(){
Zotero.setFontSize( Zotero.setFontSize(
Zotero.getActiveZoteroPane().document.getElementById('zotero-pane') Zotero.getActiveZoteroPane().document.getElementById('zotero-pane')
); );
Zotero.setFontSize(Zotero.getActiveZoteroPane().document.getElementById('zotero-context-pane'));
Zotero.getActiveZoteroPane().collectionsView && Zotero.getActiveZoteroPane().collectionsView.updateFontSize(); Zotero.getActiveZoteroPane().collectionsView && Zotero.getActiveZoteroPane().collectionsView.updateFontSize();
Zotero.getActiveZoteroPane().itemsView && Zotero.getActiveZoteroPane().itemsView.updateFontSize(); Zotero.getActiveZoteroPane().itemsView && Zotero.getActiveZoteroPane().itemsView.updateFontSize();
}], }],

View file

@ -85,6 +85,7 @@ class ReaderInstance {
sidebarOpen: this._sidebarOpen, sidebarOpen: this._sidebarOpen,
bottomPlaceholderHeight: this._bottomPlaceholderHeight, bottomPlaceholderHeight: this._bottomPlaceholderHeight,
rtl: Zotero.rtl, rtl: Zotero.rtl,
fontSize: Zotero.Prefs.get('fontSize'),
localizedStrings: { localizedStrings: {
...Zotero.Intl.getPrefixedStrings('general.'), ...Zotero.Intl.getPrefixedStrings('general.'),
...Zotero.Intl.getPrefixedStrings('pdfReader.') ...Zotero.Intl.getPrefixedStrings('pdfReader.')
@ -92,8 +93,17 @@ class ReaderInstance {
}, [buf]); }, [buf]);
// Set title once again, because `ReaderWindow` isn't loaded the first time // Set title once again, because `ReaderWindow` isn't loaded the first time
this.updateTitle(); this.updateTitle();
this._prefObserverIDs = [
Zotero.Prefs.registerObserver('fontSize', this._handleFontSizeChange)
];
return true; return true;
} }
uninit() {
this._prefObserverIDs.forEach(id => Zotero.Prefs.unregisterObserver(id));
}
get itemID() { get itemID() {
return this._itemID; return this._itemID;
@ -499,6 +509,10 @@ class ReaderInstance {
|| item.parentItem && item.parentItem.deleted; || item.parentItem && item.parentItem.deleted;
} }
_handleFontSizeChange = () => {
this._postMessage({ action: 'setFontSize', fontSize: Zotero.Prefs.get('fontSize') });
};
_dataURLtoBlob(dataurl) { _dataURLtoBlob(dataurl) {
let parts = dataurl.split(','); let parts = dataurl.split(',');
let mime = parts[0].match(/:(.*?);/)[1]; let mime = parts[0].match(/:(.*?);/)[1];
@ -1369,6 +1383,7 @@ class Reader {
for (let id of ids) { for (let id of ids) {
let reader = Zotero.Reader.getByTabID(id); let reader = Zotero.Reader.getByTabID(id);
if (reader) { if (reader) {
reader.uninit();
this._readers.splice(this._readers.indexOf(reader), 1); this._readers.splice(this._readers.indexOf(reader), 1);
} }
} }

View file

@ -99,6 +99,7 @@ var ZoteroPane = new function()
var zp = document.getElementById('zotero-pane'); var zp = document.getElementById('zotero-pane');
Zotero.setFontSize(zp); Zotero.setFontSize(zp);
Zotero.setFontSize(document.getElementById('zotero-context-pane'));
ZoteroPane_Local.updateLayout(); ZoteroPane_Local.updateLayout();
ZoteroPane_Local.updateToolbarPosition(); ZoteroPane_Local.updateToolbarPosition();
this.updateWindow(); this.updateWindow();

View file

@ -35,6 +35,7 @@
#zotero-context-pane-inner { #zotero-context-pane-inner {
width: 0; width: 0;
font: message-box; font: message-box;
font-size: inherit;
min-height: 100px; min-height: 100px;
height: 100%; height: 100%;
pointer-events: auto; pointer-events: auto;

@ -1 +1 @@
Subproject commit 2ee130e0ecbbfe34807a5d5e2b3500ad6d99a57e Subproject commit d391b6bb33a496c21f29cc4ebc737cd2dac29b8f