mirror of
https://github.com/Ximi1970/systray-x.git
synced 2025-10-26 00:36:07 +02:00
Add default options for new message menu item
This commit is contained in:
@@ -439,9 +439,14 @@
|
||||
"description": "Default for: "
|
||||
},
|
||||
|
||||
"accounts_defaults_subject": {
|
||||
"message": "Subject:",
|
||||
"description": "Subject:"
|
||||
"accounts_defaults_replyto": {
|
||||
"message": "Reply to:",
|
||||
"description": "Reply to:"
|
||||
},
|
||||
|
||||
"accounts_defaults_to": {
|
||||
"message": "To:",
|
||||
"description": "To:"
|
||||
},
|
||||
|
||||
"accounts_defaults_cc": {
|
||||
@@ -454,9 +459,14 @@
|
||||
"description": "Bcc:"
|
||||
},
|
||||
|
||||
"accounts_defaults_replyto": {
|
||||
"message": "Reply to:",
|
||||
"description": "Reply to:"
|
||||
"accounts_defaults_subject": {
|
||||
"message": "Subject:",
|
||||
"description": "Subject:"
|
||||
},
|
||||
|
||||
"accounts_defaults_body": {
|
||||
"message": "Body:",
|
||||
"description": "Body:"
|
||||
},
|
||||
|
||||
"accounts_defaults_pgp_key": {
|
||||
@@ -489,9 +499,9 @@
|
||||
"description": "Clear"
|
||||
},
|
||||
|
||||
"accounts_defaults_save": {
|
||||
"message": "Save",
|
||||
"description": "Save"
|
||||
"accounts_defaults_accept": {
|
||||
"message": "Accept",
|
||||
"description": "Accept"
|
||||
},
|
||||
|
||||
"shortcuts": {
|
||||
|
||||
@@ -15,6 +15,8 @@ var SysTrayX = {
|
||||
|
||||
startApp: "",
|
||||
startAppArgs: "",
|
||||
|
||||
newMessageDefaults: {}
|
||||
};
|
||||
|
||||
SysTrayX.Info = {
|
||||
@@ -324,6 +326,10 @@ SysTrayX.Messaging = {
|
||||
sendMailCount();
|
||||
}
|
||||
|
||||
if ("newMessageDefaults" in changes && changes["newMessageDefaults"].newValue) {
|
||||
SysTrayX.newMessageDefaults = JSON.parse(changes["newMessageDefaults"].newValue);
|
||||
}
|
||||
|
||||
if ("closeType" in changes && changes["closeType"].newValue) {
|
||||
SysTrayX.Messaging.closeType = changes["closeType"].newValue;
|
||||
|
||||
@@ -456,6 +462,7 @@ SysTrayX.Messaging = {
|
||||
"closeAppArgs",
|
||||
"showHideShortcut",
|
||||
"newMessageFroms",
|
||||
"newMessageDefaults",
|
||||
])
|
||||
.then(
|
||||
SysTrayX.Messaging.sendPreferencesStorage,
|
||||
@@ -502,6 +509,7 @@ SysTrayX.Messaging = {
|
||||
const closeAppArgs = result.closeAppArgs || "";
|
||||
const showHideShortcut = result.showHideShortcut || "";
|
||||
const newMessageFroms = result.newMessageFroms || [];
|
||||
const newMessageDefaults = result.newMessageDefaults || "";
|
||||
|
||||
// Send it to the app
|
||||
SysTrayX.Link.postSysTrayXMessage({
|
||||
@@ -539,6 +547,7 @@ SysTrayX.Messaging = {
|
||||
closeAppArgs,
|
||||
showHideShortcut,
|
||||
newMessageFroms,
|
||||
newMessageDefaults,
|
||||
},
|
||||
});
|
||||
},
|
||||
@@ -594,9 +603,45 @@ SysTrayX.Link = {
|
||||
{
|
||||
var tab = await browser.compose.beginNew();
|
||||
} else {
|
||||
const details = {
|
||||
from: newMessage
|
||||
const newMessageDefaults = SysTrayX.newMessageDefaults[newMessage] ?? undefined;
|
||||
|
||||
console.debug("PgpKey type: " + typeof(newMessageDefaults.pgpKey));
|
||||
|
||||
let details = {};
|
||||
if (newMessageDefaults !== undefined)
|
||||
{
|
||||
if (SysTrayX.Info.browserInfo.majorVersion < 102) {
|
||||
details = {
|
||||
from: newMessage,
|
||||
// attachPublicPGPKey: newMessageDefaults.pgpKey, //TB128 no error, working?
|
||||
bcc: newMessageDefaults.bcc.split(";"),
|
||||
body: newMessageDefaults.body,
|
||||
cc: newMessageDefaults.cc.split(";"),
|
||||
replyTo: newMessageDefaults.replyTo.split(";"),
|
||||
subject: newMessageDefaults.subject,
|
||||
to: newMessageDefaults.to.split(";"),
|
||||
}
|
||||
} else {
|
||||
details = {
|
||||
from: newMessage,
|
||||
// attachPublicPGPKey: newMessageDefaults.pgpKey, //TB128 no error, working?
|
||||
// attachVCard: newMessageDefaults.vCard, // Not working
|
||||
bcc: newMessageDefaults.bcc.split(";"),
|
||||
body: newMessageDefaults.body,
|
||||
cc: newMessageDefaults.cc.split(";"),
|
||||
deliveryStatusNotification: newMessageDefaults.statNot,
|
||||
replyTo: newMessageDefaults.replyTo.split(";"),
|
||||
returnReceipt: newMessageDefaults.retRec,
|
||||
subject: newMessageDefaults.subject,
|
||||
to: newMessageDefaults.to.split(";"),
|
||||
}
|
||||
}
|
||||
} else {
|
||||
details = {
|
||||
from: newMessage
|
||||
}
|
||||
}
|
||||
|
||||
var tab = await browser.compose.beginNew(undefined,details);
|
||||
}
|
||||
}
|
||||
@@ -1003,6 +1048,10 @@ async function start() {
|
||||
SysTrayX.startApp = startApp;
|
||||
SysTrayX.startAppArgs = startAppArgs;
|
||||
|
||||
// Get new message defaults
|
||||
const newMessageDefaults = await getNewMessageDefaults();
|
||||
SysTrayX.newMessageDefaults = newMessageDefaults;
|
||||
|
||||
// Used sync storage
|
||||
// const inUse = await browser.storage.sync.getBytesInUse();
|
||||
// console.log("Storage in use: " + inUse);
|
||||
|
||||
@@ -108,7 +108,7 @@ body {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#accountmenudialog1:input {
|
||||
#accountmenudialog1 textarea {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
|
||||
@@ -454,6 +454,28 @@ async function getStartAppParam() {
|
||||
.then(resolve, reject);
|
||||
}
|
||||
|
||||
//
|
||||
// Get new message defaults
|
||||
//
|
||||
async function getNewMessageDefaults() {
|
||||
function resolve(result) {
|
||||
const newMessageDefaults = result.newMessageDefaults || "";
|
||||
|
||||
if (newMessageDefaults !== "")
|
||||
{
|
||||
return JSON.parse(newMessageDefaults);
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
function reject() {
|
||||
return {};
|
||||
}
|
||||
|
||||
return await storage().get("newMessageDefaults").then(resolve, reject);
|
||||
}
|
||||
|
||||
// Helper funcs for TB91 and later folder handling
|
||||
|
||||
async function getMailFolderInfo(folder) {
|
||||
|
||||
@@ -141,17 +141,77 @@ SysTrayX.Accounts = {
|
||||
typeButton.setAttribute("name", accounts[prop][i].name);
|
||||
typeButton.innerHTML = " ☰";
|
||||
|
||||
// Get the divs
|
||||
const divAccountsFolders = document.getElementById("accountsFolders");
|
||||
const divAccountMenuDialog = document.getElementById("accountMenuDialog");
|
||||
|
||||
// Get the elements
|
||||
const accountMenuRepInput = document.getElementById("accountMenuReplyToInput");
|
||||
const accountMenuToInput = document.getElementById("accountMenuToInput");
|
||||
const accountMenuCcInput = document.getElementById("accountMenuCcInput");
|
||||
const accountMenuBccInput = document.getElementById("accountMenuBccInput");
|
||||
const accountMenuSubInput = document.getElementById("accountMenuSubjectInput");
|
||||
|
||||
const accountMenuBodyTextArea = document.getElementById("accountMenuBodyTextArea");
|
||||
|
||||
const accountMenuPgpKeyCheckbox = document.getElementById("accountMenuPgpKeyChk");
|
||||
const accountMenuVCardCheckbox = document.getElementById("accountMenuVCardChk");
|
||||
const accountMenuStatNotCheckbox = document.getElementById("accountMenuStatNotChk");
|
||||
const accountMenuRetRecCheckbox = document.getElementById("accountMenuReturnReceiptChk");
|
||||
|
||||
const handleClickEvent = (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
// Construct the dialog
|
||||
if (SysTrayX.Info.browserInfo.majorVersion < 102) {
|
||||
const accountMenuvCard = document.getElementById("accountmenuvcard");
|
||||
accountMenuvCard.setAttribute("style", "display: none");
|
||||
SysTrayX.Settings.activeFrom = e.target.name;
|
||||
|
||||
// Restore saved data
|
||||
const defaults = SysTrayX.Settings.newMessageDefaults[SysTrayX.Settings.activeFrom];
|
||||
|
||||
console.debug("Defaults restore: " + JSON.stringify(defaults));
|
||||
|
||||
if (defaults !== undefined)
|
||||
{
|
||||
accountMenuRepInput.value = defaults.replyTo ?? "";
|
||||
accountMenuToInput.value = defaults.to ?? "";
|
||||
accountMenuCcInput.value = defaults.cc ?? "";
|
||||
accountMenuBccInput.value = defaults.bcc ?? "";
|
||||
accountMenuSubInput.value = defaults.subject ?? "";
|
||||
|
||||
accountMenuBodyTextArea.value = defaults.body ?? "";
|
||||
|
||||
accountMenuPgpKeyCheckbox.checked = defaults.pgpKey ?? false;
|
||||
accountMenuVCardCheckbox.checked = defaults.vCard ?? false;
|
||||
accountMenuStatNotCheckbox.checked = defaults.statNot ?? false;
|
||||
accountMenuRetRecCheckbox.checked = defaults.retRec ?? false;
|
||||
} else {
|
||||
accountMenuRepInput.value = "";
|
||||
accountMenuToInput.value = "";
|
||||
accountMenuCcInput.value = "";
|
||||
accountMenuBccInput.value = "";
|
||||
accountMenuSubInput.value = "";
|
||||
|
||||
accountMenuBodyTextArea.value = "";
|
||||
|
||||
accountMenuPgpKeyCheckbox.checked = false;
|
||||
accountMenuVCardCheckbox.checked = false;
|
||||
accountMenuStatNotCheckbox.checked = false;
|
||||
accountMenuRetRecCheckbox.checked = false;
|
||||
}
|
||||
|
||||
// Construct the dialog
|
||||
|
||||
// Not working...
|
||||
const accountMenuPgpKey = document.getElementById("accountmenupgpkey");
|
||||
accountMenuPgpKey.setAttribute("style", "display: none");
|
||||
const accountMenuVCard = document.getElementById("accountmenuvcard");
|
||||
accountMenuVCard.setAttribute("style", "display: none");
|
||||
|
||||
// TB version depending
|
||||
if (SysTrayX.Info.browserInfo.majorVersion < 102) {
|
||||
const accountMenuVCard = document.getElementById("accountmenuvcard");
|
||||
accountMenuVCard.setAttribute("style", "display: none");
|
||||
const accountMenuStatNot = document.getElementById("accountmenustatnot");
|
||||
accountMenuStatNot.setAttribute("style", "display: none");
|
||||
|
||||
const accountMenuRetRec = document.getElementById("accountmenureturnreceipt");
|
||||
accountMenuRetRec.setAttribute("style", "display: none");
|
||||
}
|
||||
@@ -159,39 +219,76 @@ SysTrayX.Accounts = {
|
||||
const divAccountMenuId = document.getElementById("accountMenuId");
|
||||
divAccountMenuId.innerHTML = e.target.name;
|
||||
|
||||
const divAccountsFolders = document.getElementById("accountsFolders");
|
||||
divAccountsFolders.setAttribute("style", "display: none");
|
||||
|
||||
const divAccountMenuDialog = document.getElementById("accountMenuDialog");
|
||||
divAccountMenuDialog.removeAttribute("style");
|
||||
|
||||
// Do something
|
||||
};
|
||||
|
||||
typeButton.onclick = handleClickEvent;
|
||||
typeDiv.appendChild(typeButton);
|
||||
|
||||
typeLi.appendChild(typeDiv);
|
||||
|
||||
// Setup the buttons of the account menu dialog
|
||||
const handleClickBackEvent = (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
const divAccountsFolders = document.getElementById("accountsFolders");
|
||||
divAccountsFolders.removeAttribute("style");
|
||||
|
||||
const divAccountMenuDialog = document.getElementById("accountMenuDialog");
|
||||
divAccountMenuDialog.setAttribute("style", "display: none");
|
||||
|
||||
SysTrayX.Settings.activeFrom = undefined;
|
||||
}
|
||||
|
||||
const accountMenuBack = document.getElementById("accountMenuBack");
|
||||
accountMenuBack.onclick = handleClickBackEvent;
|
||||
|
||||
|
||||
// const accountMenuClear = document.getElementById("accountMenuClear");
|
||||
// const accountMenuSave = document.getElementById("accountMenuSave");
|
||||
const handleClickClearEvent = (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
accountMenuRepInput.value = "";
|
||||
accountMenuToInput.value = "";
|
||||
accountMenuCcInput.value = "";
|
||||
accountMenuBccInput.value = "";
|
||||
accountMenuSubInput.value = "";
|
||||
|
||||
accountMenuBodyTextArea.value = "";
|
||||
|
||||
typeDiv.appendChild(typeButton);
|
||||
accountMenuPgpKeyCheckbox.checked = false;
|
||||
accountMenuVCardCheckbox.checked = false;
|
||||
accountMenuStatNotCheckbox.checked = false;
|
||||
accountMenuRetRecCheckbox.checked = false;
|
||||
}
|
||||
|
||||
typeLi.appendChild(typeDiv);
|
||||
const accountMenuClear = document.getElementById("accountMenuClear");
|
||||
accountMenuClear.onclick = handleClickClearEvent;
|
||||
|
||||
const handleClickAcceptEvent = (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
// Save data
|
||||
SysTrayX.Settings.newMessageDefaults[SysTrayX.Settings.activeFrom] = {
|
||||
replyTo: accountMenuRepInput.value,
|
||||
to: accountMenuToInput.value,
|
||||
cc: accountMenuCcInput.value,
|
||||
bcc: accountMenuBccInput.value,
|
||||
subject: accountMenuSubInput.value,
|
||||
|
||||
body: accountMenuBodyTextArea.value,
|
||||
|
||||
pgpKey: accountMenuPgpKeyCheckbox.checked,
|
||||
vCard: accountMenuVCardCheckbox.checked,
|
||||
statNot: accountMenuStatNotCheckbox.checked,
|
||||
retRec: accountMenuRetRecCheckbox.checked
|
||||
};
|
||||
|
||||
// Return to main view
|
||||
divAccountsFolders.removeAttribute("style");
|
||||
divAccountMenuDialog.setAttribute("style", "display: none");
|
||||
|
||||
SysTrayX.Settings.activeFrom = undefined;
|
||||
}
|
||||
|
||||
const accountMenuAccept = document.getElementById("accountMenuAccept");
|
||||
accountMenuAccept.onclick = handleClickAcceptEvent;
|
||||
}
|
||||
|
||||
// Create a usable folder tree
|
||||
|
||||
@@ -736,16 +736,35 @@
|
||||
<h4 id="accountMenuId">x@y</h4>
|
||||
</div>
|
||||
</caption>
|
||||
<tr id="accountmenusubject">
|
||||
<tr id="accountmenureplyto">
|
||||
<td>
|
||||
<label>__MSG_accounts_defaults_subject__</label>
|
||||
<label for="accountMenuReplyToInput" id="accountMenuReplyToInputLabel">
|
||||
__MSG_accounts_defaults_replyto__
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type="text"
|
||||
name="accountmenusubject"
|
||||
id="accountMenuSubjectInput"
|
||||
name="accountmenureplyto"
|
||||
id="accountMenuReplyToInput"
|
||||
value=""
|
||||
placeholder="Name <email@example.com> [ ; Name <email@example.com> ]"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="accountmenuto">
|
||||
<td>
|
||||
<label for="accountMenuToInput" id="accountMenuToInputLabel">
|
||||
__MSG_accounts_defaults_to__
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type="text"
|
||||
name="accountmenuto"
|
||||
id="accountMenuToInput"
|
||||
value=""
|
||||
placeholder="Name <email@example.com> [ ; Name <email@example.com> ]"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -761,6 +780,7 @@
|
||||
name="accountmenucc"
|
||||
id="accountMenuCcInput"
|
||||
value=""
|
||||
placeholder="Name <email@example.com> [ ; Name <email@example.com> ]"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -776,24 +796,35 @@
|
||||
name="accountmenubcc"
|
||||
id="accountMenuBccInput"
|
||||
value=""
|
||||
placeholder="Name <email@example.com> [ ; Name <email@example.com> ]"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="accountmenureplyto">
|
||||
<tr id="accountmenusubject">
|
||||
<td>
|
||||
<label for="accountMenuReplyToInput" id="accountMenuReplyToInputLabel">
|
||||
__MSG_accounts_defaults_replyto__
|
||||
</label>
|
||||
<label>__MSG_accounts_defaults_subject__</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type="text"
|
||||
name="accountmenureplyto"
|
||||
id="accountMenuReplyToInput"
|
||||
name="accountmenusubject"
|
||||
id="accountMenuSubjectInput"
|
||||
value=""
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="accountmenubody">
|
||||
<td>
|
||||
<label>__MSG_accounts_defaults_body__</label>
|
||||
</td>
|
||||
<td>
|
||||
<textarea
|
||||
id="accountMenuBodyTextArea"
|
||||
rows="8"
|
||||
>
|
||||
</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table id="accountmenudialog2">
|
||||
<tr id="accountmenupgpkey">
|
||||
@@ -801,10 +832,10 @@
|
||||
<input
|
||||
type="checkbox"
|
||||
name="accountmenupgpkey"
|
||||
id="accountMenuPgpKey"
|
||||
id="accountMenuPgpKeyChk"
|
||||
value=""
|
||||
/>
|
||||
<label for="accountMenuPgpKey" id="accountMenuPgpKeyLabel">
|
||||
<label for="accountMenuPgpKeyChk" id="accountMenuPgpKeyLabel">
|
||||
__MSG_accounts_defaults_pgp_key__
|
||||
</label>
|
||||
</td>
|
||||
@@ -813,10 +844,10 @@
|
||||
<input
|
||||
type="checkbox"
|
||||
name="accountmenuvcard"
|
||||
id="accountMenuVCard"
|
||||
id="accountMenuVCardChk"
|
||||
value=""
|
||||
/>
|
||||
<label for="accountMenuVCard" id="accountMenuVCardLabel">
|
||||
<label for="accountMenuVCardChk" id="accountMenuVCardLabel">
|
||||
__MSG_accounts_defaults_vcard__
|
||||
</label>
|
||||
</td>
|
||||
@@ -825,10 +856,10 @@
|
||||
<input
|
||||
type="checkbox"
|
||||
name="accountmenustatnot"
|
||||
id="accountMenuStatNot"
|
||||
id="accountMenuStatNotChk"
|
||||
value=""
|
||||
/>
|
||||
<label for="accountMenuStatNot" id="accountMenuStatNotLabel">
|
||||
<label for="accountMenuStatNotChk" id="accountMenuStatNotLabel">
|
||||
__MSG_accounts_defaults_stat_not__
|
||||
</label>
|
||||
</td>
|
||||
@@ -837,10 +868,10 @@
|
||||
<input
|
||||
type="checkbox"
|
||||
name="accountmenureturnreceipt"
|
||||
id="accountMenuReturnReceipt"
|
||||
id="accountMenuReturnReceiptChk"
|
||||
value=""
|
||||
/>
|
||||
<label for="accountMenuReturnReceipt" id="accountMenuReturnReceiptLabel">
|
||||
<label for="accountMenuReturnReceiptChk" id="accountMenuReturnReceiptLabel">
|
||||
__MSG_accounts_defaults_return_receipt__
|
||||
</label>
|
||||
</td>
|
||||
@@ -849,7 +880,7 @@
|
||||
<div>
|
||||
<button id="accountMenuBack">__MSG_accounts_defaults_back__</button>
|
||||
<button id="accountMenuClear">__MSG_accounts_defaults_clear__</button>
|
||||
<button id="accountMenuSave">__MSG_accounts_defaults_save__</button>
|
||||
<button id="accountMenuAccept">__MSG_accounts_defaults_accept__</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -69,7 +69,16 @@ SysTrayX.SaveOptions = {
|
||||
|
||||
// Store new message from list
|
||||
await storage().set({
|
||||
newMessageFroms: froms,
|
||||
newMessageFroms: froms,
|
||||
});
|
||||
|
||||
// Store new message defaults list
|
||||
|
||||
|
||||
console.debug("Defaults store: " + JSON.stringify(SysTrayX.Settings.newMessageDefaults));
|
||||
|
||||
await storage().set({
|
||||
newMessageDefaults: JSON.stringify(SysTrayX.Settings.newMessageDefaults),
|
||||
});
|
||||
|
||||
//
|
||||
@@ -425,6 +434,16 @@ SysTrayX.RestoreOptions = {
|
||||
SysTrayX.RestoreOptions.onNewMessageFromsError
|
||||
);
|
||||
|
||||
//
|
||||
// Restore new message defaults
|
||||
//
|
||||
await storage()
|
||||
.get("newMessageDefaults")
|
||||
.then(
|
||||
SysTrayX.RestoreOptions.setNewMessageDefaults,
|
||||
SysTrayX.RestoreOptions.onNewMessageDefaultsError
|
||||
);
|
||||
|
||||
//
|
||||
// Restore minimize type
|
||||
//
|
||||
@@ -1283,11 +1302,11 @@ SysTrayX.RestoreOptions = {
|
||||
//
|
||||
setFilters: function (result) {
|
||||
let filters = result.filters || undefined;
|
||||
|
||||
/*
|
||||
const accounts = document
|
||||
.getElementById("accountsTree")
|
||||
.querySelectorAll('input[type="checkbox"][name*="account"]');
|
||||
|
||||
*/
|
||||
// No filters stored?
|
||||
if (filters === undefined || filters.length === 0) {
|
||||
// Create default filters
|
||||
@@ -1367,9 +1386,12 @@ SysTrayX.RestoreOptions = {
|
||||
setNewMessageFroms: function (result) {
|
||||
let froms = result.newMessageFroms || [];
|
||||
|
||||
const checkboxes = document
|
||||
const checkboxes = Array.from(document
|
||||
.getElementById("accountsTree")
|
||||
.querySelectorAll('input[type="checkbox"][id="account"]');
|
||||
.querySelectorAll('input[type="checkbox"][id="account"]'));
|
||||
|
||||
SysTrayX.Settings.accounts = checkboxes.map((checkbox) => checkbox.name);
|
||||
SysTrayX.Settings.newMessageFroms = froms;
|
||||
|
||||
froms.forEach((from) => {
|
||||
checkboxes.forEach((checkbox) => {
|
||||
@@ -1384,6 +1406,25 @@ SysTrayX.RestoreOptions = {
|
||||
onNewMessageFromsError: function (error) {
|
||||
console.log(`NewMessageFroms Error: ${error}`);
|
||||
},
|
||||
|
||||
//
|
||||
// Restore new message defaults callbacks
|
||||
//
|
||||
setNewMessageDefaults: function (result) {
|
||||
let defaults = result.newMessageDefaults || "";
|
||||
|
||||
console.debug("Defaults: " + defaults);
|
||||
|
||||
if (defaults !== "") {
|
||||
SysTrayX.Settings.newMessageDefaults = JSON.parse(defaults);
|
||||
} else {
|
||||
SysTrayX.Settings.newMessageDefaults = {};
|
||||
}
|
||||
},
|
||||
|
||||
onNewMessageDefaultsError: function (error) {
|
||||
console.log(`NewMessageDefaults Error: ${error}`);
|
||||
},
|
||||
};
|
||||
|
||||
SysTrayX.StorageReset = {
|
||||
@@ -1618,6 +1659,14 @@ SysTrayX.StorageChanged = {
|
||||
//
|
||||
|
||||
async function start() {
|
||||
// Define temporary settings storage
|
||||
SysTrayX.Settings = {
|
||||
accounts: [],
|
||||
activeFrom: undefined,
|
||||
newMessageFroms: [],
|
||||
newMessageDefaults: {},
|
||||
};
|
||||
|
||||
// Set platform
|
||||
SysTrayX.Info.platformInfo = await browser.runtime.getPlatformInfo();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user