fix imap folders not showing up in subscribe ui when there are two levels of no select folders, r/sr=sspitzer 219498

This commit is contained in:
bienvenu%nventure.com 2003-12-22 23:48:30 +00:00
Родитель 756f7aff67
Коммит 620a220db9
4 изменённых файлов: 24 добавлений и 24 удалений

Просмотреть файл

@ -76,7 +76,7 @@ interface nsISubscribableServer : nsISupports {
// other stuff
void setIncomingServer(in nsIMsgIncomingServer server);
void addTo(in string aName, in boolean addAsSubscribed, in boolean changeIfExists);
void addTo(in string aName, in boolean addAsSubscribed, in boolean aSubscribable, in boolean aChangeIfExists);
void setAsSubscribed(in string path);
void updateSubscribed();
void setShowFullName(in boolean showFullName);

Просмотреть файл

@ -107,23 +107,23 @@ NS_IMPL_THREADSAFE_ISUPPORTS1(nsSubscribableServer, nsISubscribableServer)
NS_IMETHODIMP
nsSubscribableServer::SetIncomingServer(nsIMsgIncomingServer *aServer)
{
mIncomingServer = aServer;
return NS_OK;
mIncomingServer = aServer;
return NS_OK;
}
NS_IMETHODIMP
nsSubscribableServer::GetDelimiter(char *aDelimiter)
{
if (!aDelimiter) return NS_ERROR_NULL_POINTER;
*aDelimiter = mDelimiter;
return NS_OK;
if (!aDelimiter) return NS_ERROR_NULL_POINTER;
*aDelimiter = mDelimiter;
return NS_OK;
}
NS_IMETHODIMP
nsSubscribableServer::SetDelimiter(char aDelimiter)
{
mDelimiter = aDelimiter;
return NS_OK;
mDelimiter = aDelimiter;
return NS_OK;
}
NS_IMETHODIMP
@ -150,7 +150,7 @@ nsSubscribableServer::SetAsSubscribed(const char *path)
}
NS_IMETHODIMP
nsSubscribableServer::AddTo(const char *aName, PRBool addAsSubscribed, PRBool changeIfExists)
nsSubscribableServer::AddTo(const char *aName, PRBool addAsSubscribed, PRBool subscribable, PRBool changeIfExists)
{
nsresult rv = NS_OK;
@ -177,14 +177,14 @@ nsSubscribableServer::AddTo(const char *aName, PRBool addAsSubscribed, PRBool ch
NS_ENSURE_SUCCESS(rv,rv);
}
node->isSubscribable = PR_TRUE;
node->isSubscribable = subscribable;
return rv;
}
NS_IMETHODIMP
nsSubscribableServer::SetState(const char *path, PRBool state, PRBool *stateChanged)
{
nsresult rv = NS_OK;
nsresult rv = NS_OK;
NS_ASSERTION(path && stateChanged, "no path or stateChanged");
if (!path || !stateChanged) return NS_ERROR_NULL_POINTER;
@ -613,7 +613,7 @@ nsSubscribableServer::AddChildNode(SubscribeTreeNode *parent, const char *name,
nsresult
nsSubscribableServer::FindAndCreateNode(const char *path, SubscribeTreeNode **result)
{
nsresult rv = NS_OK;
nsresult rv = NS_OK;
NS_ASSERTION(result, "no result");
if (!result) return NS_ERROR_NULL_POINTER;
@ -650,7 +650,7 @@ nsSubscribableServer::FindAndCreateNode(const char *path, SubscribeTreeNode **re
rv = AddChildNode(parent, token, &child);
if (NS_FAILED(rv)) {
CRTFREEIF(pathStr);
return rv;
return rv;
}
token = nsCRT::strtok(rest, delimstr, &rest);
parent = child;
@ -659,7 +659,7 @@ nsSubscribableServer::FindAndCreateNode(const char *path, SubscribeTreeNode **re
// the last child we add is the result
*result = child;
return rv;
return rv;
}
NS_IMETHODIMP
@ -811,8 +811,8 @@ nsSubscribableServer::GetChildren(const char *path, nsISupportsArray *array)
NS_IMETHODIMP
nsSubscribableServer::CommitSubscribeChanges()
{
NS_ASSERTION(PR_FALSE,"override this.");
return NS_ERROR_FAILURE;
NS_ASSERTION(PR_FALSE,"override this.");
return NS_ERROR_FAILURE;
}
NS_IMETHODIMP

Просмотреть файл

@ -1147,8 +1147,8 @@ NS_IMETHODIMP nsImapIncomingServer::PossibleImapMailbox(const char *folderPath,
NS_ENSURE_SUCCESS(rv,rv);
imapFolder->SetHierarchyDelimiter(hierarchyDelimiter);
isNamespace = (boxFlags & kNameSpace) != 0;
if (!isNamespace && !noSelect)
rv = AddTo(dupFolderPath.get(), mDoingLsub /* add as subscribed */, mDoingLsub /* change if exists */);
if (!isNamespace)
rv = AddTo(dupFolderPath.get(), mDoingLsub && !noSelect/* add as subscribed */, !noSelect, mDoingLsub /* change if exists */);
NS_ENSURE_SUCCESS(rv,rv);
return rv;
}
@ -2914,7 +2914,7 @@ nsImapIncomingServer::UpdateSubscribed()
}
NS_IMETHODIMP
nsImapIncomingServer::AddTo(const char *aName, PRBool addAsSubscribed,PRBool changeIfExists)
nsImapIncomingServer::AddTo(const char *aName, PRBool addAsSubscribed, PRBool aSubscribable, PRBool changeIfExists)
{
nsresult rv = EnsureInner();
NS_ENSURE_SUCCESS(rv,rv);
@ -2938,7 +2938,7 @@ nsImapIncomingServer::AddTo(const char *aName, PRBool addAsSubscribed,PRBool cha
NS_ASSERTION(nameIsClean,"folder path was not in UTF7, ignore it");
if (!nameIsClean) return NS_OK;
return mInner->AddTo(aName, addAsSubscribed, changeIfExists);
return mInner->AddTo(aName, addAsSubscribed, aSubscribable, changeIfExists);
}
NS_IMETHODIMP

Просмотреть файл

@ -1004,7 +1004,7 @@ nsNntpIncomingServer::AddNewsgroupToList(const char *aName)
{
nsresult rv;
rv = AddTo(aName, PR_FALSE, PR_TRUE);
rv = AddTo(aName, PR_FALSE, PR_TRUE, PR_TRUE);
if (NS_FAILED(rv)) return rv;
return NS_OK;
}
@ -1112,7 +1112,7 @@ nsNntpIncomingServer::UpdateSubscribed()
}
NS_IMETHODIMP
nsNntpIncomingServer::AddTo(const char *aName, PRBool addAsSubscribed, PRBool changeIfExists)
nsNntpIncomingServer::AddTo(const char *aName, PRBool addAsSubscribed, PRBool aSubscribable, PRBool changeIfExists)
{
nsresult rv = EnsureInner();
NS_ENSURE_SUCCESS(rv,rv);
@ -1126,7 +1126,7 @@ nsNntpIncomingServer::AddTo(const char *aName, PRBool addAsSubscribed, PRBool ch
rv = AddGroupOnServer(escapedName);
NS_ENSURE_SUCCESS(rv,rv);
rv = mInner->AddTo(escapedName,addAsSubscribed,changeIfExists);
rv = mInner->AddTo(escapedName,addAsSubscribed, aSubscribable, changeIfExists);
NS_ENSURE_SUCCESS(rv,rv);
PR_FREEIF(escapedName);
@ -1236,7 +1236,7 @@ nsNntpIncomingServer::HandleLine(char* line, PRUint32 line_size)
char *commaPos = PL_strchr(line,',');
if (commaPos) *commaPos = 0;
nsresult rv = AddTo(line, PR_FALSE, PR_TRUE);
nsresult rv = AddTo(line, PR_FALSE, PR_TRUE, PR_TRUE);
NS_ASSERTION(NS_SUCCEEDED(rv),"failed to add line");
if (NS_SUCCEEDED(rv)) {
// since we've seen one group, we can claim we've loaded the hostinfo file