From 302bf1b523012e11b60425d6eee1221ebc2724eb Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sun, 3 Nov 2019 00:17:46 -0400 Subject: Issue #1258 - Part 1: Import mailnews, ldap, and mork from comm-esr52.9.1 --- mailnews/base/prefs/content/aw-done.js | 215 +++++++++++++++++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 mailnews/base/prefs/content/aw-done.js (limited to 'mailnews/base/prefs/content/aw-done.js') diff --git a/mailnews/base/prefs/content/aw-done.js b/mailnews/base/prefs/content/aw-done.js new file mode 100644 index 000000000..79fb7d000 --- /dev/null +++ b/mailnews/base/prefs/content/aw-done.js @@ -0,0 +1,215 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * 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/. */ + +Components.utils.import("resource:///modules/mailServices.js"); + +var gPrefsBundle; + +function donePageInit() { + var pageData = parent.GetPageData(); + var currentAccountData = gCurrentAccountData; + + if ("testingIspServices" in this) { + if (testingIspServices()) { + if ("setOtherISPServices" in this) { + setOtherISPServices(); + } + + if (currentAccountData && currentAccountData.useOverlayPanels && currentAccountData.createNewAccount) { + var backButton = document.documentElement.getButton("back"); + backButton.setAttribute("disabled", true); + + var cancelButton = document.documentElement.getButton("cancel"); + cancelButton.setAttribute("disabled", true); + + setPageData(pageData, "identity", "email", gEmailAddress); + setPageData(pageData, "identity", "fullName", gUserFullName); + setPageData(pageData, "login", "username", gScreenName); + } + } + } + + gPrefsBundle = document.getElementById("bundle_prefs"); + var showMailServerDetails = true; + + if (currentAccountData) { + // find out if we need to hide server details + showMailServerDetails = currentAccountData.showServerDetailsOnWizardSummary; + // Change the username field description to email field label in aw-identity + if (currentAccountData.emailIDFieldTitle) + setUserNameDescField(currentAccountData.emailIDFieldTitle); + } + + // Find out if we need to hide details for incoming servers + var hideIncoming = (gCurrentAccountData && gCurrentAccountData.wizardHideIncoming); + + var email = ""; + if (pageData.identity && pageData.identity.email) { + // fixup the email + email = pageData.identity.email.value; + if (email.split('@').length < 2 && + currentAccountData && + currentAccountData.domain) + email += "@" + currentAccountData.domain; + } + setDivTextFromForm("identity.email", email); + + var userName=""; + if (pageData.login && pageData.login.username) + userName = pageData.login.username.value; + if (!userName && email) { + if (currentAccountData && currentAccountData.incomingServerUserNameRequiresDomain == undefined) + currentAccountData.incomingServerUserNameRequiresDomain = false; + userName = getUsernameFromEmail(email, currentAccountData && + currentAccountData.incomingServerUserNameRequiresDomain); + } + // Hide the "username" field if we don't want to show information + // on the incoming server. + setDivTextFromForm("server.username", hideIncoming ? null : userName); + + var smtpUserName=""; + if (pageData.login && pageData.login.smtpusername) + smtpUserName = pageData.login.smtpusername.value; + if (!smtpUserName && email) + smtpUserName = getUsernameFromEmail(email, currentAccountData && + currentAccountData.smtpUserNameRequiresDomain); + setDivTextFromForm("smtpServer.username", smtpUserName); + + if (pageData.accname && pageData.accname.prettyName) { + // If currentAccountData has a pretty name (e.g. news link or from + // isp data) only set the user name with the pretty name if the + // pretty name originally came from ispdata + if ((currentAccountData && + currentAccountData.incomingServer.prettyName) && + (pageData.ispdata && + pageData.ispdata.supplied && + pageData.ispdata.supplied.value)) + { + // Get the polished account name - if the user has modified the + // account name then use that, otherwise use the userName. + pageData.accname.prettyName.value = + gPrefsBundle.getFormattedString("accountName", + [currentAccountData.incomingServer.prettyName, + (pageData.accname.userset && pageData.accname.userset.value) ? pageData.accname.prettyName.value : userName]); + } + // else just use the default supplied name + + setDivTextFromForm("account.name", pageData.accname.prettyName.value); + } else { + setDivTextFromForm("account.name", ""); + } + + // Show mail servers (incoming&outgoing) details + // based on current account data. ISP can set + // rdf value of literal showServerDetailsOnWizardSummary + // to false to hide server details + if (showMailServerDetails && !serverIsNntp(pageData)) { + var incomingServerName=""; + if (pageData.server && pageData.server.hostname) { + incomingServerName = pageData.server.hostname.value; + if (!incomingServerName && + currentAccountData && + currentAccountData.incomingServer.hostname) + incomingServerName = currentAccountData.incomingServer.hostName; + } + // Hide the incoming server name field if the user specified + // wizardHideIncoming in the ISP defaults file + setDivTextFromForm("server.name", hideIncoming ? null : incomingServerName); + setDivTextFromForm("server.port", pageData.server.port ? pageData.server.port.value : null); + var incomingServerType=""; + if (pageData.server && pageData.server.servertype) { + incomingServerType = pageData.server.servertype.value; + if (!incomingServerType && + currentAccountData && + currentAccountData.incomingServer.type) + incomingServerType = currentAccountData.incomingServer.type; + } + setDivTextFromForm("server.type", incomingServerType.toUpperCase()); + + var smtpServerName=""; + if (pageData.server && pageData.server.smtphostname) { + let smtpServer = MailServices.smtp.defaultServer; + smtpServerName = pageData.server.smtphostname.value; + if (!smtpServerName && smtpServer && smtpServer.hostname) + smtpServerName = smtpServer.hostname; + } + setDivTextFromForm("smtpServer.name", smtpServerName); + } + else { + setDivTextFromForm("server.name", null); + setDivTextFromForm("server.type", null); + setDivTextFromForm("server.port", null); + setDivTextFromForm("smtpServer.name", null); + } + + if (serverIsNntp(pageData)) { + var newsServerName=""; + if (pageData.newsserver && pageData.newsserver.hostname) + newsServerName = pageData.newsserver.hostname.value; + if (newsServerName) { + // No need to show username for news account + setDivTextFromForm("server.username", null); + } + setDivTextFromForm("newsServer.name", newsServerName); + setDivTextFromForm("server.port", null); + } + else { + setDivTextFromForm("newsServer.name", null); + } + + var isPop = false; + if (pageData.server && pageData.server.servertype) { + isPop = (pageData.server.servertype.value == "pop3"); + } + + hideShowDownloadMsgsUI(isPop); +} + +function hideShowDownloadMsgsUI(isPop) +{ + // only show the "download messages now" UI + // if this is a pop account, we are online, and this was opened + // from the 3 pane + var downloadMsgs = document.getElementById("downloadMsgs"); + if (isPop) { + if (!Services.io.offline) { + if (window.opener.location.href == "chrome://messenger/content/messenger.xul") { + downloadMsgs.hidden = false; + return; + } + } + } + + // else hide it + downloadMsgs.hidden = true; +} + +function setDivTextFromForm(divid, value) { + + // collapse the row if the div has no value + var div = document.getElementById(divid); + if (!value) { + div.setAttribute("collapsed","true"); + return; + } + else { + div.removeAttribute("collapsed"); + } + + // otherwise fill in the .text element + div = document.getElementById(divid+".text"); + if (!div) return; + + // set the value + div.setAttribute("value", value); +} + +function setUserNameDescField(name) +{ + if (name) { + var userNameField = document.getElementById("server.username.label"); + userNameField.setAttribute("value", name); + } +} -- cgit v1.2.3