From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- comm/mail/components/im/content/addbuddy.js | 58 +++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 comm/mail/components/im/content/addbuddy.js (limited to 'comm/mail/components/im/content/addbuddy.js') diff --git a/comm/mail/components/im/content/addbuddy.js b/comm/mail/components/im/content/addbuddy.js new file mode 100644 index 0000000000..f5b3eb7deb --- /dev/null +++ b/comm/mail/components/im/content/addbuddy.js @@ -0,0 +1,58 @@ +/* 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/. */ + +var { IMServices } = ChromeUtils.importESModule( + "resource:///modules/IMServices.sys.mjs" +); +var { ChatIcons } = ChromeUtils.importESModule( + "resource:///modules/chatIcons.sys.mjs" +); + +var addBuddy = { + onload() { + let accountList = document.getElementById("accountlist"); + for (let acc of IMServices.accounts.getAccounts()) { + if (!acc.connected) { + continue; + } + let proto = acc.protocol; + let item = accountList.appendItem(acc.name, acc.id, proto.name); + item.setAttribute("image", ChatIcons.getProtocolIconURI(proto)); + item.setAttribute("class", "menuitem-iconic"); + } + if (!accountList.itemCount) { + document + .getElementById("addBuddyDialog") + .querySelector("dialog") + .cancelDialog(); + throw new Error("No connected account!"); + } + accountList.selectedIndex = 0; + }, + + oninput() { + document.querySelector("dialog").getButton("accept").disabled = + !addBuddy.getValue("name"); + }, + + getValue(aId) { + return document.getElementById(aId).value; + }, + + create() { + let account = IMServices.accounts.getAccountById( + this.getValue("accountlist") + ); + let group = Services.strings + .createBundle("chrome://messenger/locale/chat.properties") + .GetStringFromName("defaultGroup"); + account.addBuddy(IMServices.tags.createTag(group), this.getValue("name")); + }, +}; + +document.addEventListener("dialogaccept", addBuddy.create.bind(addBuddy)); + +window.addEventListener("load", event => { + addBuddy.onload(); +}); -- cgit v1.2.3