diff --git a/src/note/noteExportController.ts b/src/note/noteExportController.ts index 269eb55..b7cc5b3 100644 --- a/src/note/noteExportController.ts +++ b/src/note/noteExportController.ts @@ -318,10 +318,20 @@ class NoteExport extends AddonBase { private async _exportDocx(filename: string) { await Zotero.File.putContentsAsync(filename, this._docxBlob); - this._Addon.ZoteroViews.showProgressWindow( + const progress = this._Addon.ZoteroViews.showProgressWindow( "Better Notes", `Note Saved to ${filename}` ); + // Just a placeholder + progress.addDescription('Open Folder'); + (await this._Addon.ZoteroViews.getProgressDocument(progress)) + .querySelector("label[href]") + .addEventListener("click", async (e) => { + e.stopPropagation(); + e.preventDefault(); + await Zotero.File.reveal(filename); + }); + progress.setProgress(100); } private async _exportMD( @@ -342,10 +352,20 @@ class NoteExport extends AddonBase { `Exporting MD file: ${filename}, content length: ${content.length}` ); await Zotero.File.putContentsAsync(filename, content); - this._Addon.ZoteroViews.showProgressWindow( + const progress = this._Addon.ZoteroViews.showProgressWindow( "Better Notes", `Note Saved to ${filename}` ); + // Just a placeholder + progress.addDescription('Open Folder'); + (await this._Addon.ZoteroViews.getProgressDocument(progress)) + .querySelector("label[href]") + .addEventListener("click", async (e) => { + e.stopPropagation(); + e.preventDefault(); + await Zotero.File.reveal(filename); + }); + progress.setProgress(100); if (deleteAfterExport) { const _w: Window = ZoteroPane.findNoteWindow(note.id); if (_w) { @@ -362,10 +382,20 @@ class NoteExport extends AddonBase { filename, this._Addon.NoteParse.parseNoteToFreemind(noteItem) ); - this._Addon.ZoteroViews.showProgressWindow( + const progress = this._Addon.ZoteroViews.showProgressWindow( "Better Notes", `Note Saved to ${filename}` ); + // Just a placeholder + progress.addDescription('Open Folder'); + (await this._Addon.ZoteroViews.getProgressDocument(progress)) + .querySelector("label[href]") + .addEventListener("click", async (e) => { + e.stopPropagation(); + e.preventDefault(); + await Zotero.File.reveal(filename); + }); + progress.setProgress(100); } private async _getFileName( diff --git a/src/sync/syncController.ts b/src/sync/syncController.ts index a188012..81bc655 100644 --- a/src/sync/syncController.ts +++ b/src/sync/syncController.ts @@ -131,9 +131,7 @@ class SyncController extends AddonBase { } } - // We set quiet false by default in pre-releases - // to test the syncing - async doSync(items: Zotero.Item[] = null, quiet: boolean = false) { + async doSync(items: Zotero.Item[] = null, quiet: boolean = true) { if (this.sycnLock) { // Only allow one task return; diff --git a/src/zotero/views.ts b/src/zotero/views.ts index 999434c..dc73563 100644 --- a/src/zotero/views.ts +++ b/src/zotero/views.ts @@ -409,6 +409,11 @@ class ZoteroViews extends AddonBase { return; } + public async getProgressDocument(progressWindow): Promise { + await this.waitProgressWindow(progressWindow); + return progressWindow.progress._hbox.ownerDocument; + } + public createXULElement(doc: Document, options: XULElementOptions) { const createElement: () => XUL.Element = options.tag === "fragment"