parent
33de1cbce9
commit
84fea3ba35
@ -585,6 +585,10 @@
|
|||||||
"description": "Preferences/General; group text",
|
"description": "Preferences/General; group text",
|
||||||
"message": "Manager"
|
"message": "Manager"
|
||||||
},
|
},
|
||||||
|
"pref_manager_in_popup": {
|
||||||
|
"description": "checkbox text",
|
||||||
|
"message": "Open manager in a new popup window"
|
||||||
|
},
|
||||||
"pref_manager_tooltip": {
|
"pref_manager_tooltip": {
|
||||||
"description": "Preferences/General",
|
"description": "Preferences/General",
|
||||||
"message": "Show tooltips in Manager tabs"
|
"message": "Show tooltips in Manager tabs"
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"button-type": "popup",
|
"button-type": "popup",
|
||||||
|
"manager-in-popup": false,
|
||||||
"concurrent": 4,
|
"concurrent": 4,
|
||||||
"queue-notification": true,
|
"queue-notification": true,
|
||||||
"finish-notification": true,
|
"finish-notification": true,
|
||||||
|
@ -2,8 +2,9 @@
|
|||||||
// License: MIT
|
// License: MIT
|
||||||
|
|
||||||
import { windows, tabs, runtime } from "../lib/browser";
|
import { windows, tabs, runtime } from "../lib/browser";
|
||||||
import {getManager} from "./manager/man";
|
import { getManager } from "./manager/man";
|
||||||
import DEFAULT_ICONS from "../data/icons.json";
|
import DEFAULT_ICONS from "../data/icons.json";
|
||||||
|
import { Prefs } from "./prefs";
|
||||||
|
|
||||||
const DONATE_URL = "https://www.downthemall.org/howto/donate/";
|
const DONATE_URL = "https://www.downthemall.org/howto/donate/";
|
||||||
const MANAGER_URL = "/windows/manager.html";
|
const MANAGER_URL = "/windows/manager.html";
|
||||||
@ -93,11 +94,33 @@ export async function openManager(focus = true) {
|
|||||||
catch (ex) {
|
catch (ex) {
|
||||||
console.error(ex.toString(), ex);
|
console.error(ex.toString(), ex);
|
||||||
}
|
}
|
||||||
|
const url = runtime.getURL(MANAGER_URL);
|
||||||
|
const openInPopup = await Prefs.get("manager-in-popup");
|
||||||
|
if (openInPopup) {
|
||||||
|
const etabs = await tabs.query({
|
||||||
|
url
|
||||||
|
});
|
||||||
|
if (etabs.length) {
|
||||||
|
if (!focus) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const tab = etabs.pop();
|
||||||
|
await tabs.update(tab.id, {active: true});
|
||||||
|
await windows.update(tab.windowId, {focused: true});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const windowOptions = {
|
||||||
|
url,
|
||||||
|
type: "popup",
|
||||||
|
};
|
||||||
|
await windows.create(windowOptions);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (focus) {
|
if (focus) {
|
||||||
await openInTabOrFocus(await runtime.getURL(MANAGER_URL), false);
|
await openInTabOrFocus(runtime.getURL(MANAGER_URL), false);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
await maybeOpenInTab(await runtime.getURL(MANAGER_URL), false);
|
await maybeOpenInTab(runtime.getURL(MANAGER_URL), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
<label><input type="radio" name="pref-button-type" value="manager"> <span data-i18n="pref-button-type-manager"></span></label>
|
<label><input type="radio" name="pref-button-type" value="manager"> <span data-i18n="pref-button-type-manager"></span></label>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
<label><input type="checkbox" id="pref-manager-in-popup"> <span data-i18n="pref-manager-in-popup"></span></label>
|
||||||
<label><input type="checkbox" id="pref-finish-notification"> <span data-i18n="pref-finish-notification"></span></label>
|
<label><input type="checkbox" id="pref-finish-notification"> <span data-i18n="pref-finish-notification"></span></label>
|
||||||
<label><input type="checkbox" id="pref-sounds"> <span data-i18n="pref-sounds"></span></label>
|
<label><input type="checkbox" id="pref-sounds"> <span data-i18n="pref-sounds"></span></label>
|
||||||
<label><input type="checkbox" id="pref-hide-context"> <span data-i18n="pref-hide-context"></span></label>
|
<label><input type="checkbox" id="pref-hide-context"> <span data-i18n="pref-hide-context"></span></label>
|
||||||
|
@ -554,6 +554,7 @@ addEventListener("DOMContentLoaded", async () => {
|
|||||||
await localize(document.documentElement);
|
await localize(document.documentElement);
|
||||||
|
|
||||||
// General
|
// General
|
||||||
|
new BoolPref("pref-manager-in-popup", "manager-in-popup");
|
||||||
new BoolPref("pref-queue-notification", "queue-notification");
|
new BoolPref("pref-queue-notification", "queue-notification");
|
||||||
new BoolPref("pref-finish-notification", "finish-notification");
|
new BoolPref("pref-finish-notification", "finish-notification");
|
||||||
new BoolPref("pref-sounds", "sounds");
|
new BoolPref("pref-sounds", "sounds");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user