mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 20:05:49 +00:00
Bug #5938 --> add get/set charset over-ride to I18N urls.
This commit is contained in:
parent
f05e5d2a14
commit
fa152ce0ab
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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___ */
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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__
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -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__
|
||||
|
Loading…
Reference in New Issue
Block a user