Bug #5938 --> add get/set charset over-ride to I18N urls.

This commit is contained in:
mscott%netscape.com 2000-05-15 22:40:47 +00:00
parent f05e5d2a14
commit fa152ce0ab
9 changed files with 58 additions and 10 deletions

View File

@ -336,6 +336,7 @@ NS_IMETHODIMP nsImapService::DisplayMessage(const char* aMessageURI,
nsISupports * aDisplayConsumer,
nsIMsgWindow * aMsgWindow,
nsIUrlListener * aUrlListener,
const PRUnichar * aCharsetOverride,
nsIURI ** aURL)
{
nsresult rv = NS_OK;
@ -524,7 +525,7 @@ NS_IMETHODIMP nsImapService::DisplayMessageForPrinting(const char* aMessageURI,
nsIURI ** aURL)
{
mPrintingOperation = PR_TRUE;
nsresult rv = DisplayMessage(aMessageURI, aDisplayConsumer, aMsgWindow, aUrlListener, aURL);
nsresult rv = DisplayMessage(aMessageURI, aDisplayConsumer, aMsgWindow, aUrlListener, nsnull, aURL);
mPrintingOperation = PR_FALSE;
return rv;
}

View File

@ -1277,3 +1277,17 @@ NS_IMETHODIMP nsImapUrl::GetFolderCharset(PRUnichar ** aCharacterSet)
return NS_OK;
}
NS_IMETHODIMP nsImapUrl::GetCharsetOverRide(PRUnichar ** aCharacterSet)
{
if (!mCharsetOverride.IsEmpty())
*aCharacterSet = mCharsetOverride.ToNewUnicode();
else
*aCharacterSet = nsnull;
return NS_OK;
}
NS_IMETHODIMP nsImapUrl::SetCharsetOverRide(const PRUnichar * aCharacterSet)
{
mCharsetOverride = aCharacterSet;
return NS_OK;
}

View File

@ -123,6 +123,7 @@ protected:
PRBool m_canonicalLineEnding; // CRLF
nsCString mURI; // the RDF URI associated with this url.
nsString mCharsetOverride; // used by nsIMsgI18NUrl...
};
#endif /* nsImapUrl_h___ */

View File

@ -156,11 +156,12 @@ nsresult nsMailboxService::DisplayMessage(const char* aMessageURI,
nsISupports * aDisplayConsumer,
nsIMsgWindow * aMsgWindow,
nsIUrlListener * aUrlListener,
const PRUnichar * aCharsetOveride,
nsIURI ** aURL)
{
return FetchMessage(aMessageURI, aDisplayConsumer,
aMsgWindow,aUrlListener,
nsIMailboxUrl::ActionDisplayMessage, aURL);
return FetchMessage(aMessageURI, aDisplayConsumer,
aMsgWindow,aUrlListener,
nsIMailboxUrl::ActionDisplayMessage, aURL);
}
/* void OpenAttachment (in nsIURI aURI, in nsISupports aDisplayConsumer, in nsIMsgWindow aMsgWindow, in nsIUrlListener aUrlListener, out nsIURI aURL); */
@ -177,7 +178,7 @@ nsMailboxService::SaveMessageToDisk(const char *aMessageURI,
nsIUrlListener *aUrlListener,
nsIURI **aURL,
PRBool canonicalLineEnding,
nsIMsgWindow *aMsgWindow)
nsIMsgWindow *aMsgWindow)
{
nsresult rv = NS_OK;
nsCOMPtr<nsIMailboxUrl> mailboxurl;

View File

@ -452,3 +452,18 @@ NS_IMETHODIMP nsMailboxUrl::GetFolderCharset(PRUnichar ** aCharacterSet)
return NS_OK;
}
NS_IMETHODIMP nsMailboxUrl::GetCharsetOverRide(PRUnichar ** aCharacterSet)
{
if (!mCharsetOverride.IsEmpty())
*aCharacterSet = mCharsetOverride.ToNewUnicode();
else
*aCharacterSet = nsnull;
return NS_OK;
}
NS_IMETHODIMP nsMailboxUrl::SetCharsetOverRide(const PRUnichar * aCharacterSet)
{
mCharsetOverride = aCharacterSet;
return NS_OK;
}

View File

@ -80,9 +80,9 @@ protected:
nsresult ParseSearchPart();
// truncated message support
nsXPIDLCString m_originalSpec;
nsXPIDLCString m_originalSpec;
nsCString mURI; // the RDF URI associated with this url.
nsString mCharsetOverride; // used by nsIMsgI18NUrl...
};
#endif // nsMailboxUrl_h__

View File

@ -152,7 +152,7 @@ nsNntpService::SaveMessageToDisk(const char *aMessageURI,
}
nsresult nsNntpService::DisplayMessage(const char* aMessageURI, nsISupports * aDisplayConsumer,
nsIMsgWindow *aMsgWindow, nsIUrlListener * aUrlListener, nsIURI ** aURL)
nsIMsgWindow *aMsgWindow, nsIUrlListener * aUrlListener, const PRUnichar * aCharsetOverride, nsIURI ** aURL)
{
nsresult rv = NS_OK;
@ -350,7 +350,7 @@ nsresult nsNntpService::CopyMessage(const char * aSrcMailboxURI, nsIStreamListen
if (!aSrcMailboxURI || !aMailboxCopyHandler) return rv;
streamSupport = do_QueryInterface(aMailboxCopyHandler, &rv);
if (NS_SUCCEEDED(rv))
rv = DisplayMessage(aSrcMailboxURI, streamSupport, nsnull, aUrlListener, aURL);
rv = DisplayMessage(aSrcMailboxURI, streamSupport, nsnull, aUrlListener, nsnull, aURL);
return rv;
}
@ -1253,7 +1253,7 @@ nsresult nsNntpService::DisplayMessageForPrinting(const char* aMessageURI, nsISu
nsIMsgWindow *aMsgWindow, nsIUrlListener * aUrlListener, nsIURI ** aURL)
{
mPrintingOperation = PR_TRUE;
nsresult rv = DisplayMessage(aMessageURI, aDisplayConsumer, aMsgWindow, aUrlListener, aURL);
nsresult rv = DisplayMessage(aMessageURI, aDisplayConsumer, aMsgWindow, aUrlListener, nsnull, aURL);
mPrintingOperation = PR_FALSE;
return rv;
}

View File

@ -458,4 +458,19 @@ NS_IMETHODIMP nsNntpUrl::GetFolderCharset(PRUnichar ** aCharacterSet)
return NS_OK;
}
NS_IMETHODIMP nsNntpUrl::GetCharsetOverRide(PRUnichar ** aCharacterSet)
{
if (!mCharsetOverride.IsEmpty())
*aCharacterSet = mCharsetOverride.ToNewUnicode();
else
*aCharacterSet = nsnull;
return NS_OK;
}
NS_IMETHODIMP nsNntpUrl::SetCharsetOverRide(const PRUnichar * aCharacterSet)
{
mCharsetOverride = aCharacterSet;
return NS_OK;
}

View File

@ -65,6 +65,7 @@ protected:
nsMsgKey m_messageKey;
char * m_newsgroupName;
nsCString mURI; // the RDF URI associated with this url.
nsString mCharsetOverride; // used by nsIMsgI18NUrl...
};
#endif // nsNntpUrl_h__