зеркало из https://github.com/mozilla/pjs.git
make name and pretty name unichar's
This commit is contained in:
Родитель
1dd84fdb56
Коммит
a75b982dcc
|
@ -23,7 +23,7 @@
|
|||
interface nsIFolder : nsICollection {
|
||||
|
||||
readonly attribute string URI;
|
||||
attribute string name;
|
||||
attribute wstring name;
|
||||
|
||||
nsISupports GetChildNamed(in string name);
|
||||
attribute nsIFolder parent;
|
||||
|
|
|
@ -53,8 +53,8 @@ interface nsIMsgFolder : nsIFolder {
|
|||
nsIMsgThread GetThreadForMessage(in nsIMessage message);
|
||||
boolean HasMessage(in nsIMessage message);
|
||||
nsIEnumerator GetVisibleSubFolders();
|
||||
attribute string prettyName;
|
||||
readonly attribute string prettiestName;
|
||||
attribute wstring prettyName;
|
||||
readonly attribute wstring prettiestName;
|
||||
string BuildFolderURL();
|
||||
|
||||
readonly attribute boolean deleteIsMoveToTrash;
|
||||
|
|
|
@ -700,7 +700,7 @@ nsresult nsMsgFolderDataSource::createFolderNode(nsIMsgFolder* folder,
|
|||
nsresult nsMsgFolderDataSource::createFolderNameNode(nsIMsgFolder *folder,
|
||||
nsIRDFNode **target)
|
||||
{
|
||||
char *name;
|
||||
PRUnichar *name;
|
||||
nsresult rv = folder->GetName(&name);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
nsString nameString(name);
|
||||
|
|
|
@ -22,11 +22,12 @@
|
|||
#include "nsMsgFolderFlags.h"
|
||||
#include "nsISupportsArray.h"
|
||||
#include "prprf.h"
|
||||
|
||||
#include "nsMsgDBCID.h"
|
||||
// we need this because of an egcs 1.0 (and possibly gcc) compiler bug
|
||||
// that doesn't allow you to call ::nsISupports::GetIID() inside of a class
|
||||
// that multiply inherits from nsISupports
|
||||
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
static NS_DEFINE_CID(kCMailDB, NS_MAILDB_CID);
|
||||
|
||||
nsMsgImapMailFolder::nsMsgImapMailFolder(nsString& name)
|
||||
: nsMsgFolder(/*name*/)
|
||||
|
@ -148,7 +149,7 @@ nsMsgImapMailFolder::FindChildNamed(const char *name, nsIMsgFolder ** aChild)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgImapMailFolder::GetName(char** name)
|
||||
NS_IMETHODIMP nsMsgImapMailFolder::GetName(PRUnichar** name)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
|
|
@ -337,39 +337,29 @@ NS_IMETHODIMP nsMsgFolder::GetServer(nsIMsgIncomingServer ** aServer)
|
|||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgFolder::GetPrettyName(char ** name)
|
||||
NS_IMETHODIMP nsMsgFolder::GetPrettyName(PRUnichar ** name)
|
||||
{
|
||||
char *cmName = mName.ToNewCString();
|
||||
if(cmName)
|
||||
{
|
||||
if (name) *name = PL_strdup(cmName);
|
||||
delete[] cmName;
|
||||
return NS_OK;
|
||||
}
|
||||
else
|
||||
if (!name)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
*name = mName.ToNewUnicode();
|
||||
return (*name) ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgFolder::SetPrettyName(char *name)
|
||||
NS_IMETHODIMP nsMsgFolder::SetPrettyName(PRUnichar *name)
|
||||
{
|
||||
mName = name;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgFolder::GetName(char **name)
|
||||
NS_IMETHODIMP nsMsgFolder::GetName(PRUnichar **name)
|
||||
{
|
||||
char *cmName = mName.ToNewCString();
|
||||
if(cmName)
|
||||
{
|
||||
if (name) *name = PL_strdup(cmName);
|
||||
delete[] cmName;
|
||||
return NS_OK;
|
||||
}
|
||||
else
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
if (!name)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
*name = mName.ToNewUnicode();
|
||||
return (*name) ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgFolder::SetName(char * name)
|
||||
NS_IMETHODIMP nsMsgFolder::SetName(PRUnichar * name)
|
||||
{
|
||||
mName = name;
|
||||
return NS_OK;
|
||||
|
@ -394,11 +384,11 @@ NS_IMETHODIMP nsMsgFolder::GetChildNamed(const char *name, nsISupports ** aChild
|
|||
folder = do_QueryInterface(supports, &rv);
|
||||
if(NS_SUCCEEDED(rv))
|
||||
{
|
||||
char *folderName;
|
||||
PRUnichar *folderName;
|
||||
|
||||
folder->GetName(&folderName);
|
||||
// case-insensitive compare is probably LCD across OS filesystems
|
||||
if (folderName && PL_strcasecmp(name, folderName)!=0)
|
||||
if (folderName && nsCRT::strcasecmp(folderName, name)!=0)
|
||||
{
|
||||
*aChild = folder;
|
||||
delete[] folderName;
|
||||
|
@ -411,7 +401,7 @@ NS_IMETHODIMP nsMsgFolder::GetChildNamed(const char *name, nsISupports ** aChild
|
|||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsMsgFolder::GetPrettiestName(char **name)
|
||||
NS_IMETHODIMP nsMsgFolder::GetPrettiestName(PRUnichar **name)
|
||||
{
|
||||
if (NS_SUCCEEDED(GetPrettyName(name)))
|
||||
return NS_OK;
|
||||
|
@ -599,7 +589,8 @@ NS_IMETHODIMP nsMsgFolder::CreateSubfolder(const char *folderName)
|
|||
NS_IMETHODIMP nsMsgFolder::Rename(const char *name)
|
||||
{
|
||||
nsresult status = NS_OK;
|
||||
status = SetName((char*)name);
|
||||
nsAutoString2 unicharString(name);
|
||||
status = SetName((PRUnichar *) unicharString.GetUnicode());
|
||||
//After doing a SetName we need to make sure that broadcasting this message causes a
|
||||
//new sort to happen.
|
||||
#ifdef HAVE_MASTER
|
||||
|
|
|
@ -71,8 +71,8 @@ public:
|
|||
|
||||
// nsIFolder methods:
|
||||
NS_IMETHOD GetURI(char* *name) { return nsRDFResource::GetValue(name); }
|
||||
NS_IMETHOD GetName(char **name);
|
||||
NS_IMETHOD SetName(char *name);
|
||||
NS_IMETHOD GetName(PRUnichar **name);
|
||||
NS_IMETHOD SetName(PRUnichar *name);
|
||||
NS_IMETHOD GetChildNamed(const char *name, nsISupports* *result);
|
||||
NS_IMETHOD GetSubFolders(nsIEnumerator* *result);
|
||||
NS_IMETHOD GetHasSubFolders(PRBool *_retval);
|
||||
|
@ -95,8 +95,8 @@ public:
|
|||
NS_IMETHOD GetServer(nsIMsgIncomingServer ** aServer);
|
||||
|
||||
|
||||
NS_IMETHOD GetPrettyName(char ** name);
|
||||
NS_IMETHOD SetPrettyName(char * name);
|
||||
NS_IMETHOD GetPrettyName(PRUnichar ** name);
|
||||
NS_IMETHOD SetPrettyName(PRUnichar * name);
|
||||
#if 0
|
||||
static nsresult GetRoot(nsIMsgFolder* *result);
|
||||
#endif
|
||||
|
@ -117,7 +117,7 @@ public:
|
|||
NS_IMETHOD BuildFolderURL(char ** url);
|
||||
|
||||
|
||||
NS_IMETHOD GetPrettiestName(char ** name);
|
||||
NS_IMETHOD GetPrettiestName(PRUnichar ** name);
|
||||
|
||||
#ifdef HAVE_ADMINURL
|
||||
NS_IMETHOD GetAdminUrl(MWContext *context, MSG_AdminURLType type);
|
||||
|
|
|
@ -296,4 +296,6 @@ NS_IMPL_SERVERPREF_STR(nsMsgIncomingServer, LocalPath, "directory")
|
|||
|
||||
|
||||
/* what was this called in 4.x? */
|
||||
// pref("mail.pop3_gets_new_mail", true);
|
||||
|
||||
NS_IMPL_SERVERPREF_BOOL(nsMsgIncomingServer, DownloadOnBiff, "download_on_biff");
|
||||
|
|
|
@ -431,12 +431,8 @@ NS_IMETHODIMP nsImapMailFolder::GetMessages(nsIEnumerator* *result)
|
|||
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
char *folderName = nsnull;
|
||||
rv = GetName(&folderName);
|
||||
selectFolder = PR_TRUE;
|
||||
|
||||
delete [] folderName;
|
||||
|
||||
if (mDepth == 0)
|
||||
{
|
||||
if (!m_haveDiscoverAllFolders)
|
||||
|
@ -586,7 +582,7 @@ NS_IMETHODIMP nsImapMailFolder::GetChildNamed(const char * name, nsISupports **
|
|||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsImapMailFolder::GetName(char ** name)
|
||||
NS_IMETHODIMP nsImapMailFolder::GetName(PRUnichar ** name)
|
||||
{
|
||||
nsresult result = NS_OK;
|
||||
|
||||
|
@ -599,10 +595,11 @@ NS_IMETHODIMP nsImapMailFolder::GetName(char ** name)
|
|||
{
|
||||
char *hostName = nsnull;
|
||||
GetHostname(&hostName);
|
||||
SetName(hostName);
|
||||
nsString2 unicodeHostName(hostName);
|
||||
SetName((PRUnichar *) unicodeHostName.GetUnicode());
|
||||
PR_FREEIF(hostName);
|
||||
m_haveReadNameFromDB = PR_TRUE;
|
||||
*name = mName.ToNewCString();
|
||||
*name = mName.ToNewUnicode();
|
||||
return NS_OK;
|
||||
}
|
||||
#if 0
|
||||
|
@ -630,7 +627,7 @@ NS_IMETHODIMP nsImapMailFolder::GetName(char ** name)
|
|||
}
|
||||
nsAutoString folderName;
|
||||
nsImapURI2Name(kImapRootURI, mURI, folderName);
|
||||
*name = folderName.ToNewCString();
|
||||
*name = folderName.ToNewUnicode();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -912,9 +909,9 @@ NS_IMETHODIMP nsImapMailFolder::DeleteMessages(nsISupportsArray *messages,
|
|||
nsCOMPtr<nsIMsgFolder> aMsgFolder(do_QueryInterface(aItem, &rv));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
char* aName = nsnull;
|
||||
PRUnichar* aName = nsnull;
|
||||
rv = aMsgFolder->GetName(&aName);
|
||||
if (NS_SUCCEEDED(rv) && PL_strcmp("Trash", aName) == 0)
|
||||
if (NS_SUCCEEDED(rv) && nsCRT::strcmp(aName, "Trash") == 0)
|
||||
{
|
||||
delete [] aName;
|
||||
trashFolder = aMsgFolder;
|
||||
|
@ -1084,12 +1081,12 @@ NS_IMETHODIMP nsImapMailFolder::PossibleImapMailbox(
|
|||
aFolder = do_QueryInterface(aItem, &rv);
|
||||
if (rv == NS_OK && aFolder)
|
||||
{
|
||||
char* aName = nsnull;
|
||||
PRUnichar* aName = nsnull;
|
||||
aFolder->GetName(&aName);
|
||||
PRBool isInbox =
|
||||
PL_strcasecmp("inbox", aSpec->allocatedPathName) == 0;
|
||||
if (PL_strcmp(aName, aSpec->allocatedPathName) == 0 ||
|
||||
(isInbox && PL_strcasecmp(aName, aSpec->allocatedPathName) == 0))
|
||||
if (nsCRT::strcmp(aName, aSpec->allocatedPathName) == 0 ||
|
||||
(isInbox && nsCRT::strcasecmp(aName, aSpec->allocatedPathName) == 0))
|
||||
{
|
||||
delete [] aName;
|
||||
found = PR_TRUE;
|
||||
|
|
|
@ -81,7 +81,7 @@ public:
|
|||
NS_IMETHOD GetChildNamed(const char * name, nsISupports ** aChild);
|
||||
|
||||
// this override pulls the value from the db
|
||||
NS_IMETHOD GetName(char ** name); // Name of this folder (as presented to user).
|
||||
NS_IMETHOD GetName(PRUnichar ** name); // Name of this folder (as presented to user).
|
||||
NS_IMETHOD GetPrettyName(char ** prettyName); // Override of the base, for top-level mail folder
|
||||
|
||||
NS_IMETHOD BuildFolderURL(char **url);
|
||||
|
|
|
@ -432,7 +432,8 @@ nsIMAP4TestDriver::SetupInbox()
|
|||
rdfResource(do_QueryInterface(m_inbox, &rv));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
rdfResource->Init("imap:/Inbox");
|
||||
m_inbox->SetName("Inbox");
|
||||
nsString2 inboxName("Inbox", eTwoByte);
|
||||
m_inbox->SetName((PRUnichar *) inboxName.GetUnicode());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -728,7 +728,7 @@ NS_IMETHODIMP nsMsgLocalMailFolder::Adopt(nsIMsgFolder *srcFolder, PRUint32 *out
|
|||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsMsgLocalMailFolder::GetName(char **name)
|
||||
NS_IMETHODIMP nsMsgLocalMailFolder::GetName(PRUnichar **name)
|
||||
{
|
||||
if(!name)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
@ -737,9 +737,10 @@ NS_IMETHODIMP nsMsgLocalMailFolder::GetName(char **name)
|
|||
{
|
||||
if (mDepth == 1)
|
||||
{
|
||||
SetName("Local Mail");
|
||||
nsString localMailStr("Local Mail");
|
||||
SetName((PRUnichar *) localMailStr.GetUnicode());
|
||||
mHaveReadNameFromDB = TRUE;
|
||||
*name = mName.ToNewCString();
|
||||
*name = mName.ToNewUnicode();
|
||||
if(!(*name))
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
return NS_OK;
|
||||
|
@ -751,17 +752,18 @@ NS_IMETHODIMP nsMsgLocalMailFolder::GetName(char **name)
|
|||
}
|
||||
nsAutoString folderName;
|
||||
nsLocalURI2Name(kMailboxRootURI, mURI, folderName);
|
||||
*name = folderName.ToNewCString();
|
||||
*name = folderName.ToNewUnicode();
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgLocalMailFolder::GetPrettyName(char ** prettyName)
|
||||
NS_IMETHODIMP nsMsgLocalMailFolder::GetPrettyName(PRUnichar ** prettyName)
|
||||
{
|
||||
if (mDepth == 1) {
|
||||
// Depth == 1 means we are on the mail server level
|
||||
// override the name here to say "Local Mail"
|
||||
*prettyName = PL_strdup("Local Mail");
|
||||
nsString2 localMailStr("Local Mail");
|
||||
*prettyName = localMailStr.ToNewUnicode();
|
||||
if(!(*prettyName))
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
|
|
@ -72,8 +72,8 @@ public:
|
|||
NS_IMETHOD Adopt(nsIMsgFolder *srcFolder, PRUint32 *outPos);
|
||||
|
||||
// this override pulls the value from the db
|
||||
NS_IMETHOD GetName(char ** name); // Name of this folder (as presented to user).
|
||||
NS_IMETHOD GetPrettyName(char** prettyName); // Override of the base, for top-level mail folder
|
||||
NS_IMETHOD GetName(PRUnichar ** name); // Name of this folder (as presented to user).
|
||||
NS_IMETHOD GetPrettyName(PRUnichar** prettyName); // Override of the base, for top-level mail folder
|
||||
|
||||
NS_IMETHOD BuildFolderURL(char **url);
|
||||
|
||||
|
|
|
@ -1639,8 +1639,9 @@ NS_IMETHODIMP nsParseNewMailState::ApplyFilterHit(nsIMsgFilter *filter, PRBool *
|
|||
{
|
||||
// this sucks - but we need value to live past this scope
|
||||
// so we use an nsString from above.
|
||||
char *folderName = nsnull;
|
||||
PRUnichar *folderName = nsnull;
|
||||
rv = trash->GetName(&folderName);
|
||||
// ### woa, is this right?. will the eOneByte nsString do the right unichar conversion?.
|
||||
trashNameVal = folderName;
|
||||
PR_FREEIF(folderName);
|
||||
value = (void *) trashNameVal.GetBuffer();
|
||||
|
@ -1804,7 +1805,9 @@ nsresult nsParseNewMailState::MoveIncorporatedMessage(nsIMsgDBHdr *mailHdr,
|
|||
nsresult rv = nsComponentManager::CreateInstance(kCMailDB, nsnull, nsIMsgDatabase::GetIID(), (void **) getter_AddRefs(mailDBFactory));
|
||||
if (NS_SUCCEEDED(rv) && mailDBFactory)
|
||||
{
|
||||
rv = mailDBFactory->Open(destFolderSpec, PR_TRUE, (nsIMsgDatabase **) getter_AddRefs(destMailDB), PR_TRUE);
|
||||
nsCOMPtr <nsIFileSpec> dbFileSpec;
|
||||
NS_NewFileSpecWithSpec(destFolderSpec, getter_AddRefs(dbFileSpec));
|
||||
rv = mailDBFactory->Open(dbFileSpec, PR_TRUE, (nsIMsgDatabase **) getter_AddRefs(destMailDB), PR_TRUE);
|
||||
}
|
||||
NS_ASSERTION(destMailDB, "failed to open mail db parsing folder");
|
||||
// don't force upgrade in place - open the db here before we start writing to the
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
|
||||
#ifdef DEBUG_bienvenu
|
||||
//#define DOING_FILTERS
|
||||
#define DOING_FILTERS
|
||||
#endif
|
||||
|
||||
#ifdef DOING_FILTERS
|
||||
|
|
|
@ -806,12 +806,12 @@ nsMsgNewsFolder::GetChildNamed(const char *name, nsISupports ** aChild)
|
|||
supports = mSubFolders->ElementAt(i);
|
||||
|
||||
if(NS_SUCCEEDED(supports->QueryInterface(kISupportsIID, getter_AddRefs(folder)))) {
|
||||
char *folderName;
|
||||
PRUnichar *folderName;
|
||||
|
||||
folder->GetName(&folderName);
|
||||
|
||||
// case-insensitive compare is probably LCD across OS filesystems
|
||||
if (folderName && PL_strcasecmp(name, folderName)!=0) {
|
||||
if (folderName && nsCRT::strcasecmp(folderName, name)!=0) {
|
||||
*aChild = folder;
|
||||
PR_FREEIF(folderName);
|
||||
return NS_OK;
|
||||
|
@ -822,32 +822,25 @@ nsMsgNewsFolder::GetChildNamed(const char *name, nsISupports ** aChild)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgNewsFolder::GetName(char **name)
|
||||
NS_IMETHODIMP nsMsgNewsFolder::GetName(PRUnichar **name)
|
||||
{
|
||||
if(!name)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsAutoString folderName;
|
||||
nsNewsURI2Name(kNewsRootURI, mURI, folderName);
|
||||
*name = folderName.ToNewCString();
|
||||
*name = folderName.ToNewUnicode();
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgNewsFolder::GetPrettyName(char ** prettyName)
|
||||
NS_IMETHODIMP nsMsgNewsFolder::GetPrettyName(PRUnichar ** prettyName)
|
||||
{
|
||||
if (!prettyName)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsresult rv = NS_OK;;
|
||||
char *pName = PL_strdup(*prettyName);
|
||||
if (pName) {
|
||||
rv = nsMsgFolder::GetPrettyName(&pName);
|
||||
delete[] pName;
|
||||
}
|
||||
else {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
rv = nsMsgFolder::GetPrettyName(prettyName);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -1087,14 +1080,15 @@ NS_IMETHODIMP nsMsgNewsFolder::DeleteMessages(nsISupportsArray *messages,
|
|||
char *hostname;
|
||||
rv = GetHostname(&hostname);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
char *newsgroupname;
|
||||
PRUnichar *newsgroupname;
|
||||
rv = GetName(&newsgroupname);
|
||||
nsString2 asciiName(newsgroupname, eOneByte);
|
||||
if (NS_FAILED(rv)) {
|
||||
PR_FREEIF(hostname);
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = nntpService->CancelMessages(hostname, newsgroupname, messages, nsnull, nsnull, nsnull);
|
||||
rv = nntpService->CancelMessages(hostname, asciiName.GetBuffer(), messages, nsnull, nsnull, nsnull);
|
||||
|
||||
PR_FREEIF(hostname);
|
||||
PR_FREEIF(newsgroupname);
|
||||
|
|
|
@ -64,8 +64,8 @@ public:
|
|||
NS_IMETHOD GetChildNamed(const char* name, nsISupports ** aChild);
|
||||
|
||||
// this override pulls the value from the db
|
||||
NS_IMETHOD GetName(char ** name); // Name of this folder (as presented to user).
|
||||
NS_IMETHOD GetPrettyName(char ** prettyName); // Override of the base, for top-level news folder
|
||||
NS_IMETHOD GetName(PRUnichar ** name); // Name of this folder (as presented to user).
|
||||
NS_IMETHOD GetPrettyName(PRUnichar ** prettyName); // Override of the base, for top-level news folder
|
||||
|
||||
NS_IMETHOD BuildFolderURL(char **url);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче