Better fixing of tab-title logic
Follow-up to 3eef4284d1
, which wasn't totally correct, and adds the
attachment title before the parent metadata for secondary attachments.
https://forums.zotero.org/discussion/comment/441362/#Comment_441362
This commit is contained in:
parent
3eef4284d1
commit
4dbd52782c
1 changed files with 26 additions and 25 deletions
|
@ -545,34 +545,35 @@ class ReaderInstance {
|
|||
let readerTitle = item.getDisplayTitle();
|
||||
let parentItem = item.parentItem;
|
||||
if (type === 'filename') {
|
||||
let attachment = await parentItem.getBestAttachment();
|
||||
if (attachment && attachment.id === this._item.id) {
|
||||
readerTitle = attachment.attachmentFilename;
|
||||
}
|
||||
readerTitle = item.attachmentFilename;
|
||||
}
|
||||
else if (parentItem) {
|
||||
let attachment = await parentItem.getBestAttachment();
|
||||
if (attachment && attachment.id === this._item.id) {
|
||||
let parts = [];
|
||||
// Windows displays bidi control characters as placeholders in window titles, so strip them
|
||||
// See https://github.com/mozilla-services/screenshots/issues/4863
|
||||
let unformatted = Zotero.isWin;
|
||||
let creator = parentItem.getField('firstCreator', unformatted);
|
||||
let year = parentItem.getField('year');
|
||||
let title = parentItem.getDisplayTitle();
|
||||
// If creator is missing fall back to titleCreatorYear
|
||||
if (type === 'creatorYearTitle' && creator) {
|
||||
parts = [creator, year, title];
|
||||
}
|
||||
else if (type === 'title') {
|
||||
parts = [title];
|
||||
}
|
||||
// If type is titleCreatorYear, or is missing, or another type falls back
|
||||
else {
|
||||
parts = [title, creator, year];
|
||||
}
|
||||
readerTitle = parts.filter(x => x).join(' - ');
|
||||
let parts = [];
|
||||
// Windows displays bidi control characters as placeholders in window titles, so strip them
|
||||
// See https://github.com/mozilla-services/screenshots/issues/4863
|
||||
let unformatted = Zotero.isWin;
|
||||
let creator = parentItem.getField('firstCreator', unformatted);
|
||||
let year = parentItem.getField('year');
|
||||
let title = parentItem.getDisplayTitle();
|
||||
// If creator is missing fall back to titleCreatorYear
|
||||
if (type === 'creatorYearTitle' && creator) {
|
||||
parts = [creator, year, title];
|
||||
}
|
||||
else if (type === 'title') {
|
||||
parts = [title];
|
||||
}
|
||||
// If type is titleCreatorYear, or is missing, or another type falls back
|
||||
else {
|
||||
parts = [title, creator, year];
|
||||
}
|
||||
|
||||
// If not primary attachment, add attachment title
|
||||
let attachment = await parentItem.getBestAttachment();
|
||||
if (!attachment || attachment.id != item.id) {
|
||||
parts.unshift(item.getDisplayTitle());
|
||||
}
|
||||
|
||||
readerTitle = parts.filter(Boolean).join(' - ');
|
||||
}
|
||||
this._title = readerTitle;
|
||||
this._setTitleValue(readerTitle);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue