diff --git a/mailnews/addrbook/resources/content/abCardViewOverlay.js b/mailnews/addrbook/resources/content/abCardViewOverlay.js
index d5cdff9a927..136c874cb25 100644
--- a/mailnews/addrbook/resources/content/abCardViewOverlay.js
+++ b/mailnews/addrbook/resources/content/abCardViewOverlay.js
@@ -231,10 +231,11 @@ function DisplayCardViewPane(card)
visible = HandleLink(data.cvEmail1, zPrimaryEmail, card.primaryEmail, data.cvEmail1Box, "mailto:" + card.primaryEmail) || visible;
}
+ var onlineCheckAllowed = gPrefs.getBoolPref("mail.addr_book.im.online_check_allowed");
var goimURL = "aim:goim?screenname=" + card.aimScreenName;
var hasScreenName = HandleLink(data.cvScreenname, zScreenName, card.aimScreenName, data.cvScreennameBox, goimURL);
-
- if (!hasScreenName || gIOService.offline) {
+
+ if (!onlineCheckAllowed || !hasScreenName || gIOService.offline) {
data.cvAimPresence.removeAttribute("src");
data.cvAimPresence.removeAttribute("url");
data.cvAimPresence.setAttribute("width","0");
diff --git a/mailnews/addrbook/resources/content/addressbook.js b/mailnews/addrbook/resources/content/addressbook.js
index e8cf502f746..e351d2323c3 100644
--- a/mailnews/addrbook/resources/content/addressbook.js
+++ b/mailnews/addrbook/resources/content/addressbook.js
@@ -59,6 +59,7 @@ const kLastNameFirst = 1;
const kFirstNameFirst = 2;
const kLDAPDirectory = 0; // defined in nsDirPrefs.h
const kPABDirectory = 2; // defined in nsDirPrefs.h
+const kPrefOnlineCheckAllowed = "mail.addr_book.im.online_check_allowed";
// Note: We need to keep this listener as it does not just handle dir
// pane deletes but also deletes of address books and lists from places like
@@ -273,6 +274,8 @@ function GetCurrentPrefs()
document.getElementById("cmd_SortBy_PhoneticName")
.setAttribute("hidden", "false");
+ document.getElementById("menu_allow_online_check")
+ .setAttribute("checked", gPrefs.getBoolPref(kPrefOnlineCheckAllowed));
}
@@ -899,3 +902,14 @@ function AbIMSelected()
LaunchUrl(url);
}
+
+function onAllowOnlineCheck(target)
+{
+ // Update the pref
+ gPrefs.setBoolPref(kPrefOnlineCheckAllowed,
+ document.getElementById("menu_allow_online_check")
+ .getAttribute("checked") == "true");
+
+ // Now redisplay the card view pane.
+ UpdateCardView();
+}
diff --git a/mailnews/addrbook/resources/content/addressbook.xul b/mailnews/addrbook/resources/content/addressbook.xul
index a4937502e23..a9b75a23c58 100644
--- a/mailnews/addrbook/resources/content/addressbook.xul
+++ b/mailnews/addrbook/resources/content/addressbook.xul
@@ -372,6 +372,12 @@
+
+
diff --git a/mailnews/addrbook/resources/locale/en-US/abMainWindow.dtd b/mailnews/addrbook/resources/locale/en-US/abMainWindow.dtd
index 12bb8c95a70..e69de29bb2d 100644
--- a/mailnews/addrbook/resources/locale/en-US/abMainWindow.dtd
+++ b/mailnews/addrbook/resources/locale/en-US/abMainWindow.dtd
@@ -1,143 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/mailnews/mailnews.js b/mailnews/mailnews.js
index 87781adfcdd..3c277b8c459 100644
--- a/mailnews/mailnews.js
+++ b/mailnews/mailnews.js
@@ -137,6 +137,7 @@ pref("mail.file_attach_binary", false);
pref("mail.show_headers", 1); // some
pref("mail.pane_config", 0);
pref("mail.addr_book.mapit_url.format", "chrome://messenger-region/locale/region.properties");
+pref("mail.addr_book.im.online_check_allowed", false);
// the format for "mail.addr_book.quicksearchquery.format" is:
// @V == the escaped value typed in the quick search bar in the addressbook