summaryrefslogtreecommitdiffstats
path: root/mailnews/extensions/dsn
diff options
context:
space:
mode:
Diffstat (limited to 'mailnews/extensions/dsn')
-rw-r--r--mailnews/extensions/dsn/content/am-dsn.js36
-rw-r--r--mailnews/extensions/dsn/content/am-dsn.xul57
-rw-r--r--mailnews/extensions/dsn/content/dsn.js9
-rw-r--r--mailnews/extensions/dsn/jar.mn9
-rw-r--r--mailnews/extensions/dsn/moz.build15
-rw-r--r--mailnews/extensions/dsn/src/dsn-service.js24
-rw-r--r--mailnews/extensions/dsn/src/dsn-service.manifest3
7 files changed, 153 insertions, 0 deletions
diff --git a/mailnews/extensions/dsn/content/am-dsn.js b/mailnews/extensions/dsn/content/am-dsn.js
new file mode 100644
index 000000000..2c8a5f923
--- /dev/null
+++ b/mailnews/extensions/dsn/content/am-dsn.js
@@ -0,0 +1,36 @@
+/* -*- Mode: Java; 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/. */
+
+var useCustomPrefs;
+var requestAlways;
+var gIdentity;
+
+function onInit()
+{
+ useCustomPrefs = document.getElementById("identity.dsn_use_custom_prefs");
+ requestAlways = document.getElementById("identity.dsn_always_request_on");
+
+ EnableDisableCustomSettings();
+
+ return true;
+}
+
+function onSave()
+{
+}
+
+function EnableDisableCustomSettings() {
+ if (useCustomPrefs && (useCustomPrefs.getAttribute("value") == "false"))
+ requestAlways.setAttribute("disabled", "true");
+ else
+ requestAlways.removeAttribute("disabled");
+
+ return true;
+}
+
+function onPreInit(account, accountValues)
+{
+ gIdentity = account.defaultIdentity;
+}
diff --git a/mailnews/extensions/dsn/content/am-dsn.xul b/mailnews/extensions/dsn/content/am-dsn.xul
new file mode 100644
index 000000000..1327021ca
--- /dev/null
+++ b/mailnews/extensions/dsn/content/am-dsn.xul
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+
+<!--
+
+ 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/. -->
+
+<?xml-stylesheet href="chrome://messenger/skin/accountManage.css" type="text/css"?>
+
+<!DOCTYPE page SYSTEM "chrome://messenger/locale/am-dsn.dtd">
+
+<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ onload="parent.onPanelLoaded('am-dsn.xul');">
+
+ <stringbundle id="bundle_smime" src="chrome://messenger/locale/am-dsn.properties"/>
+ <script type="application/javascript" src="chrome://messenger/content/AccountManager.js"/>
+ <script type="application/javascript" src="chrome://messenger/content/am-dsn.js"/>
+
+ <dialogheader title="&pane.title;"/>
+
+ <groupbox>
+
+ <caption label="&pane.title;"/>
+
+ <hbox id="prefChoices" align="center">
+ <radiogroup id="identity.dsn_use_custom_prefs"
+ wsm_persist="true"
+ genericattr="true"
+ preftype="bool"
+ prefstring="mail.identity.%identitykey%.dsn_use_custom_prefs"
+ oncommand="EnableDisableCustomSettings();">
+
+ <radio id="identity.select_global_prefs"
+ value="false"
+ label="&useGlobalPrefs.label;"
+ accesskey="&useGlobalPrefs.accesskey;"/>
+
+ <radio id="identity.select_custom_prefs"
+ value="true"
+ label="&useCustomPrefs.label;"
+ accesskey="&useCustomPrefs.accesskey;"/>
+ </radiogroup>
+ </hbox>
+
+ <vbox id="dsnSettings" class="indent" align="start">
+ <checkbox id="identity.dsn_always_request_on"
+ label="&requestAlways.label;"
+ accesskey="&requestAlways.accesskey;"
+ wsm_persist="true"
+ genericattr="true"
+ iscontrolcontainer="true"
+ preftype="bool"
+ prefstring="mail.identity.%identitykey%.dsn_always_request_on"/>
+ </vbox>
+ </groupbox>
+</page>
diff --git a/mailnews/extensions/dsn/content/dsn.js b/mailnews/extensions/dsn/content/dsn.js
new file mode 100644
index 000000000..043aa1b94
--- /dev/null
+++ b/mailnews/extensions/dsn/content/dsn.js
@@ -0,0 +1,9 @@
+/* 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/. */
+
+/*
+ * default prefs for dsn
+ */
+pref("mail.identity.default.dsn_use_custom_prefs", false); // false: Use global true: Use custom
+pref("mail.identity.default.dsn_always_request_on", false);
diff --git a/mailnews/extensions/dsn/jar.mn b/mailnews/extensions/dsn/jar.mn
new file mode 100644
index 000000000..2ecdd7057
--- /dev/null
+++ b/mailnews/extensions/dsn/jar.mn
@@ -0,0 +1,9 @@
+# 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/.
+
+#ifdef MOZ_SUITE
+messenger.jar:
+ content/messenger/am-dsn.xul (content/am-dsn.xul)
+ content/messenger/am-dsn.js (content/am-dsn.js)
+#endif
diff --git a/mailnews/extensions/dsn/moz.build b/mailnews/extensions/dsn/moz.build
new file mode 100644
index 000000000..10cc8cb56
--- /dev/null
+++ b/mailnews/extensions/dsn/moz.build
@@ -0,0 +1,15 @@
+# vim: set filetype=python:
+# 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/.
+
+EXTRA_COMPONENTS += [
+ 'src/dsn-service.js',
+ 'src/dsn-service.manifest',
+]
+
+JAR_MANIFESTS += ['jar.mn']
+
+JS_PREFERENCE_FILES += [
+ 'content/dsn.js',
+] \ No newline at end of file
diff --git a/mailnews/extensions/dsn/src/dsn-service.js b/mailnews/extensions/dsn/src/dsn-service.js
new file mode 100644
index 000000000..76ceeb04b
--- /dev/null
+++ b/mailnews/extensions/dsn/src/dsn-service.js
@@ -0,0 +1,24 @@
+/* -*- 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://gre/modules/XPCOMUtils.jsm");
+
+function DSNService() {}
+
+DSNService.prototype = {
+ name: "dsn",
+ chromePackageName: "messenger",
+ showPanel: function(server) {
+ // don't show the panel for news, rss, or local accounts
+ return (server.type != "nntp" && server.type != "rss" &&
+ server.type != "none");
+ },
+
+ QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIMsgAccountManagerExtension]),
+ classID: Components.ID("{849dab91-9bc9-4508-a0ee-c2453e7c092d}"),
+};
+
+var components = [DSNService];
+var NSGetFactory = XPCOMUtils.generateNSGetFactory(components);
diff --git a/mailnews/extensions/dsn/src/dsn-service.manifest b/mailnews/extensions/dsn/src/dsn-service.manifest
new file mode 100644
index 000000000..2853fb3e8
--- /dev/null
+++ b/mailnews/extensions/dsn/src/dsn-service.manifest
@@ -0,0 +1,3 @@
+component {849dab91-9bc9-4508-a0ee-c2453e7c092d} dsn-service.js
+contract @mozilla.org/accountmanager/extension;1?name=dsn {849dab91-9bc9-4508-a0ee-c2453e7c092d}
+category mailnews-accountmanager-extensions dsn-account-manager-extension @mozilla.org/accountmanager/extension;1?name=dsn