update: prompt confirmation for related notes control

This commit is contained in:
windingwind 2024-04-09 22:02:04 +08:00
parent e81156d14f
commit ed913a3897
3 changed files with 27 additions and 4 deletions

View File

@ -29,4 +29,4 @@ pref("__prefsPrefix__.workspace.outline.expandLevel", 2);
pref("__prefsPrefix__.workspace.outline.keepLinks", true);
pref("__prefsPrefix__.openNote.takeover", true);
pref("__prefsPrefix__.related.takeover", true);
pref("__prefsPrefix__.related.takeover", false);

View File

@ -35,7 +35,10 @@ import { createZToolkit } from "./utils/ztoolkit";
import { waitUtilAsync } from "./utils/wait";
import { initSyncList } from "./modules/sync/api";
import { patchViewItems } from "./modules/viewItems";
import { onUpdateRelated } from "./modules/relatedNotes";
import {
onUpdateRelated,
promptRelatedPermission,
} from "./modules/relatedNotes";
import { getFocusedWindow } from "./utils/window";
import { registerNoteRelation } from "./modules/workspace/relation";
import { getPref } from "./utils/prefs";
@ -66,6 +69,8 @@ async function onStartup() {
setSyncing();
promptRelatedPermission();
await onMainWindowLoad(window);
}

View File

@ -1,6 +1,6 @@
import { getPref } from "../utils/prefs";
import { getPref, setPref } from "../utils/prefs";
export { onUpdateRelated };
export { onUpdateRelated, promptRelatedPermission };
function onUpdateRelated(
items: Zotero.Item[] = [],
@ -29,3 +29,21 @@ function onUpdateRelated(
addon.api.related.updateRelatedNotes(item.id);
}
}
function promptRelatedPermission() {
if (getPref("related.takeover")) {
return;
}
const result = Zotero.Prompt.confirm({
title: "Permission Request",
text: `Better Notes want to take over (add and remove) related field of your notes.
If you refuse, you can still use Better Notes, but most of the linking features will not work.
You can change this permission in settings later.`,
button0: "Allow",
button1: "Refuse",
});
if (result === 0) {
setPref("related.takeover", true);
}
}