From 33107dab44a5609e75cebd10c770397fec26b886 Mon Sep 17 00:00:00 2001 From: "sspitzer%netscape.com" Date: Fri, 24 Dec 1999 08:57:54 +0000 Subject: [PATCH] fix for #17665, allow the user to configure if they want to use the newsgroup name abbreviations in the folder pane. default is yes. comment out some dumps. make it so the account manager can deal with radio inputs. --- .../prefs/resources/content/AccountManager.js | 25 +++++++++++------- .../prefs/resources/content/AccountWizard.js | 2 +- .../base/prefs/resources/content/am-server.js | 1 + .../prefs/resources/content/am-server.xul | 17 ++++++++++++ .../resources/locale/en-US/am-server-top.dtd | 3 +++ mailnews/base/resources/content/widgetglue.js | 4 +-- mailnews/mailnews.js | 2 ++ .../news/public/nsINntpIncomingServer.idl | 3 +++ mailnews/news/src/nsNewsFolder.cpp | 26 +++++++++++-------- mailnews/news/src/nsNntpIncomingServer.cpp | 1 + modules/libpref/src/init/mailnews.js | 2 ++ .../chrome/mailnews/pref/am-server-top.dtd | 3 +++ 12 files changed, 66 insertions(+), 23 deletions(-) diff --git a/mailnews/base/prefs/resources/content/AccountManager.js b/mailnews/base/prefs/resources/content/AccountManager.js index 90dc240830a3..f383ad573fb4 100644 --- a/mailnews/base/prefs/resources/content/AccountManager.js +++ b/mailnews/base/prefs/resources/content/AccountManager.js @@ -284,6 +284,8 @@ function savePage(serverId, pageId) { var accountValues = getValueArrayFor(serverId); var pageElements = getPageFormElements(pageId); + if (pageElements == null) return; + // store the value in the account for (var i=0; i + + + + + &abbreviate.label; + + + + &abbreviateOn.label; + + + + &abbreviateOff.label; + + + + &newsrcFilePath.label; diff --git a/mailnews/base/prefs/resources/locale/en-US/am-server-top.dtd b/mailnews/base/prefs/resources/locale/en-US/am-server-top.dtd index eab83283d610..661642f1307d 100644 --- a/mailnews/base/prefs/resources/locale/en-US/am-server-top.dtd +++ b/mailnews/base/prefs/resources/locale/en-US/am-server-top.dtd @@ -37,3 +37,6 @@ + + + diff --git a/mailnews/base/resources/content/widgetglue.js b/mailnews/base/resources/content/widgetglue.js index e1eb0f77253d..0783d51a3299 100644 --- a/mailnews/base/resources/content/widgetglue.js +++ b/mailnews/base/resources/content/widgetglue.js @@ -978,14 +978,14 @@ var gMeterObserver; function GetMsgFolderFromUri(uri) { - dump("GetMsgFolderFromUri of " + uri + "\n"); + //dump("GetMsgFolderFromUri of " + uri + "\n"); try { var resource = GetResourceFromUri(uri); var msgfolder = resource.QueryInterface(Components.interfaces.nsIMsgFolder); return msgfolder; } catch (ex) { - dump("failed to get the folder resource\n"); + //dump("failed to get the folder resource\n"); } return null; } diff --git a/mailnews/mailnews.js b/mailnews/mailnews.js index 2fa82f515e0c..a38aa5866b90 100644 --- a/mailnews/mailnews.js +++ b/mailnews/mailnews.js @@ -363,5 +363,7 @@ pref("mail.server.default.max_size", 50); pref("mail.server.default.auth_login", true); pref("mail.server.default.delete_mail_left_on_server", false); +pref("mail.server.default.abbreviate",true); + pref("mail.convert_emoticons",true); pref("mail.convert_structs",true); diff --git a/mailnews/news/public/nsINntpIncomingServer.idl b/mailnews/news/public/nsINntpIncomingServer.idl index 881dd42fd6ef..60669410a9c6 100644 --- a/mailnews/news/public/nsINntpIncomingServer.idl +++ b/mailnews/news/public/nsINntpIncomingServer.idl @@ -42,4 +42,7 @@ interface nsINntpIncomingServer : nsISupports { /* when we don't download all, do we mark the rest read? */ attribute boolean markOldRead; + + /* abbreviate the newsgroup names in the folder pane? */ + attribute boolean abbreviate; }; diff --git a/mailnews/news/src/nsNewsFolder.cpp b/mailnews/news/src/nsNewsFolder.cpp index 890df56bed6e..f4ad39c997aa 100644 --- a/mailnews/news/src/nsNewsFolder.cpp +++ b/mailnews/news/src/nsNewsFolder.cpp @@ -576,16 +576,21 @@ NS_IMETHODIMP nsMsgNewsFolder::GetAbbreviatedName(PRUnichar * *aAbbreviatedName) if (NS_FAILED(rv)) return rv; if (!isNewsServer) { - NS_WITH_SERVICE(nsIPref, prefs, kPrefServiceCID, &rv); - if (NS_FAILED(rv)) return rv; - - PRInt32 numFullWords; - rv = prefs->GetIntPref(PREF_NEWS_ABBREVIATE_PRETTY_NAMES, &numFullWords); - if (NS_FAILED(rv)) - numFullWords = 1; - - if (numFullWords != 0) { - rv = AbbreviatePrettyName(aAbbreviatedName, numFullWords); + nsCOMPtr server; + rv = GetServer(getter_AddRefs(server)); + if (NS_FAILED(rv)) return rv; + + nsCOMPtr nntpServer; + rv = server->QueryInterface(nsINntpIncomingServer::GetIID(), + getter_AddRefs(nntpServer)); + + if (NS_FAILED(rv)) return rv; + PRBool abbreviate = PR_TRUE; + rv = nntpServer->GetAbbreviate(&abbreviate); + if (NS_FAILED(rv)) return rv; + + if (abbreviate) { + rv = AbbreviatePrettyName(aAbbreviatedName, 1 /* hardcoded for now */); } } @@ -881,7 +886,6 @@ NS_IMETHODIMP nsMsgNewsFolder::GetNewMessages(nsIMsgWindow *aWindow) NS_WITH_SERVICE(nsINntpService, nntpService, kNntpServiceCID, &rv); if (NS_FAILED(rv)) return rv; - //Are we assured this is the server for this folder? nsCOMPtr server; rv = GetServer(getter_AddRefs(server)); if (NS_FAILED(rv)) return rv; diff --git a/mailnews/news/src/nsNntpIncomingServer.cpp b/mailnews/news/src/nsNntpIncomingServer.cpp index a89158e5d580..6a26f840f40b 100644 --- a/mailnews/news/src/nsNntpIncomingServer.cpp +++ b/mailnews/news/src/nsNntpIncomingServer.cpp @@ -64,6 +64,7 @@ nsNntpIncomingServer::~nsNntpIncomingServer() NS_IMPL_SERVERPREF_INT(nsNntpIncomingServer, NotifySize, "notify.size"); NS_IMPL_SERVERPREF_BOOL(nsNntpIncomingServer, NotifyOn, "notify.on"); NS_IMPL_SERVERPREF_BOOL(nsNntpIncomingServer, MarkOldRead, "mark_old_read"); +NS_IMPL_SERVERPREF_BOOL(nsNntpIncomingServer, Abbreviate, "abbreviate"); NS_IMPL_SERVERPREF_INT(nsNntpIncomingServer, MaxArticles, "max_articles"); NS_IMETHODIMP diff --git a/modules/libpref/src/init/mailnews.js b/modules/libpref/src/init/mailnews.js index 2fa82f515e0c..a38aa5866b90 100644 --- a/modules/libpref/src/init/mailnews.js +++ b/modules/libpref/src/init/mailnews.js @@ -363,5 +363,7 @@ pref("mail.server.default.max_size", 50); pref("mail.server.default.auth_login", true); pref("mail.server.default.delete_mail_left_on_server", false); +pref("mail.server.default.abbreviate",true); + pref("mail.convert_emoticons",true); pref("mail.convert_structs",true); diff --git a/suite/locales/en-US/chrome/mailnews/pref/am-server-top.dtd b/suite/locales/en-US/chrome/mailnews/pref/am-server-top.dtd index eab83283d610..661642f1307d 100644 --- a/suite/locales/en-US/chrome/mailnews/pref/am-server-top.dtd +++ b/suite/locales/en-US/chrome/mailnews/pref/am-server-top.dtd @@ -37,3 +37,6 @@ + + +