summaryrefslogtreecommitdiffstats
path: root/comm/mail/components/preferences/syncDialog.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /comm/mail/components/preferences/syncDialog.js
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/mail/components/preferences/syncDialog.js')
-rw-r--r--comm/mail/components/preferences/syncDialog.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/comm/mail/components/preferences/syncDialog.js b/comm/mail/components/preferences/syncDialog.js
new file mode 100644
index 0000000000..6920a8aa59
--- /dev/null
+++ b/comm/mail/components/preferences/syncDialog.js
@@ -0,0 +1,38 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+const engineItems = {
+ configSyncAccount: "services.sync.engine.accounts",
+ configSyncAddress: "services.sync.engine.addressbooks",
+ configSyncCalendar: "services.sync.engine.calendars",
+ configSyncIdentity: "services.sync.engine.identities",
+ configSyncPasswords: "services.sync.engine.passwords",
+};
+
+window.addEventListener("load", function () {
+ for (let [id, prefName] of Object.entries(engineItems)) {
+ let element = document.getElementById(id);
+ element.checked = Services.prefs.getBoolPref(prefName, false);
+ }
+
+ let options = window.arguments[0];
+ if (options.disconnectFun) {
+ window.addEventListener("dialogextra2", function () {
+ options.disconnectFun().then(disconnected => {
+ if (disconnected) {
+ window.close();
+ }
+ });
+ });
+ } else {
+ document.querySelector("dialog").getButton("extra2").hidden = true;
+ }
+});
+
+window.addEventListener("dialogaccept", function () {
+ for (let [id, prefName] of Object.entries(engineItems)) {
+ let element = document.getElementById(id);
+ Services.prefs.setBoolPref(prefName, element.checked);
+ }
+});