зеркало из https://github.com/mozilla/pjs.git
42090 most of the work for this patch done by joshua.xia@sun.com r=naving sr=bienvenu a=asa Make cancel in
filterListDialog not remember changes.
This commit is contained in:
Родитель
04913ffed8
Коммит
d02931c130
|
@ -150,6 +150,7 @@ const nsMsgBiffState nsMsgBiffState_Unknown = 2; // We dunno whether there is ne
|
|||
|
||||
/* function to get the filter list on folder's server */
|
||||
nsIMsgFilterList getFilterList( in nsIMsgWindow msgWindow);
|
||||
void setFilterList( in nsIMsgFilterList filterList);
|
||||
|
||||
void ForceDBClosed ();
|
||||
void Delete ();
|
||||
|
|
|
@ -79,6 +79,35 @@ function onOk()
|
|||
window.close();
|
||||
}
|
||||
|
||||
function onCancel()
|
||||
{
|
||||
var firstItem = getSelectedServerForFilters();
|
||||
if (!firstItem)
|
||||
firstItem = getServerThatCanHaveFilters();
|
||||
|
||||
if (firstItem) {
|
||||
var resource = rdf.GetResource(firstItem);
|
||||
var msgFolder = resource.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
if (msgFolder)
|
||||
{
|
||||
msgFolder.ReleaseDelegate("filter");
|
||||
msgFolder.setFilterList(null);
|
||||
try
|
||||
{
|
||||
//now find Inbox
|
||||
var outNumFolders = new Object();
|
||||
var inboxFolder = msgFolder.getFoldersWithFlag(0x1000, 1, outNumFolders);
|
||||
inboxFolder.setFilterList(null);
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
dump ("ex " +ex + "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
window.close();
|
||||
}
|
||||
|
||||
function onServerClick(event)
|
||||
{
|
||||
var item = event.target;
|
||||
|
|
|
@ -33,6 +33,7 @@ Contributor(s): Hkan Waara <hwaara@chello.se>
|
|||
buttons="accept,cancel,help"
|
||||
onload="onLoad();"
|
||||
ondialogaccept="return onOk();"
|
||||
ondialogcancel="return onCancel();"
|
||||
ondialoghelp="return doHelpButton();"
|
||||
width="440"
|
||||
height="320"
|
||||
|
|
|
@ -2536,6 +2536,18 @@ nsMsgFolder::GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **aResult)
|
|||
return server->GetFilterList(aMsgWindow, aResult);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMsgFolder::SetFilterList(nsIMsgFilterList *aFilterList)
|
||||
{
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIMsgIncomingServer> server;
|
||||
rv = GetServer(getter_AddRefs(server));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
NS_ENSURE_TRUE(server, NS_ERROR_FAILURE);
|
||||
|
||||
return server->SetFilterList(aFilterList);
|
||||
}
|
||||
|
||||
/* void enableNotifications (in long notificationType, in boolean enable); */
|
||||
NS_IMETHODIMP nsMsgFolder::EnableNotifications(PRInt32 notificationType, PRBool enable, PRBool dbBatching)
|
||||
{
|
||||
|
|
|
@ -106,6 +106,7 @@ public:
|
|||
NS_IMETHOD GetCanFileMessages(PRBool *aCanFileMessages);
|
||||
NS_IMETHOD GetCanDeleteMessages(PRBool *aCanDeleteMessages);
|
||||
NS_IMETHOD GetFilterList(nsIMsgWindow *aMsgWindow, nsIMsgFilterList **aFilterList);
|
||||
NS_IMETHOD SetFilterList(nsIMsgFilterList *aFilterList);
|
||||
NS_IMETHOD GetCanCreateSubfolders(PRBool *aCanCreateSubfolders);
|
||||
NS_IMETHOD GetCanRename(PRBool *aCanRename);
|
||||
NS_IMETHOD GetCanCompact(PRBool *aCanCompact);
|
||||
|
|
|
@ -7017,3 +7017,10 @@ nsImapMailFolder::SetPerformingBiff(PRBool aPerformingBiff)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsImapMailFolder::SetFilterList(nsIMsgFilterList *aMsgFilterList)
|
||||
{
|
||||
m_filterList = aMsgFilterList;
|
||||
return nsMsgFolder::SetFilterList(aMsgFilterList);
|
||||
}
|
||||
|
||||
|
|
|
@ -341,6 +341,7 @@ public:
|
|||
// nsIMsgFilterHitNotification method(s)
|
||||
NS_IMETHOD ApplyFilterHit(nsIMsgFilter *filter, nsIMsgWindow *msgWindow, PRBool *applyMore);
|
||||
NS_IMETHOD IsCommandEnabled(const char *command, PRBool *result);
|
||||
NS_IMETHOD SetFilterList(nsIMsgFilterList *aMsgFilterList);
|
||||
|
||||
nsresult MoveIncorporatedMessage(nsIMsgDBHdr *mailHdr,
|
||||
nsIMsgDatabase *sourceDB,
|
||||
|
|
Загрузка…
Ссылка в новой задаче