summaryrefslogtreecommitdiffstats
path: root/mailnews
diff options
context:
space:
mode:
Diffstat (limited to 'mailnews')
-rw-r--r--mailnews/base/util/folderUtils.jsm13
-rw-r--r--mailnews/mailnews.js2
2 files changed, 14 insertions, 1 deletions
diff --git a/mailnews/base/util/folderUtils.jsm b/mailnews/base/util/folderUtils.jsm
index 62fb7700b..f549bf655 100644
--- a/mailnews/base/util/folderUtils.jsm
+++ b/mailnews/base/util/folderUtils.jsm
@@ -12,6 +12,7 @@ this.EXPORTED_SYMBOLS = ["getFolderProperties", "getSpecialFolderString",
Components.utils.import("resource:///modules/mailServices.js");
Components.utils.import("resource:///modules/iteratorUtils.jsm");
+Components.utils.import("resource://gre/modules/Services.jsm");
/**
* Returns a string representation of a folder's "special" type.
@@ -169,8 +170,18 @@ function allAccountsSorted(aExcludeIMAccounts) {
return a.incomingServer.type != "im";
});
}
+
+ // Sort the accounts else will respect the order in mail.accountmanager.accounts
+ if (!Services.prefs.getBoolPref("mail.accountmanager.accounts.ordered", false)) {
+ accountList = accountList.sort(compareAccounts);
+ }
+
+ // Set "Local Folders" as always the first displayed account
+ if (Services.prefs.getBoolPref("mail.accountmanager.localfolderfirst", false)) {
+ accountList.unshift(accountList.splice(accountList.findIndex(item => item.key === "account1"), 1)[0]);
+ }
- return accountList.sort(compareAccounts);
+ return accountList;
}
/**
diff --git a/mailnews/mailnews.js b/mailnews/mailnews.js
index 7ebe2eaa7..49ac33827 100644
--- a/mailnews/mailnews.js
+++ b/mailnews/mailnews.js
@@ -431,6 +431,8 @@ pref("mail.default_sendlater_uri", "mailbox://nobody@Local%20Folders/Unsent%20Me
pref("mail.smtpservers", "");
pref("mail.accountmanager.accounts", "");
+pref("mail.accountmanager.accounts.ordered", false);
+pref("mail.accountmanager.localfolderfirst", false);
// Last used account key value
pref("mail.account.lastKey", 0);