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 // other stuff
void setIncomingServer(in nsIMsgIncomingServer server); 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 setAsSubscribed(in string path);
void updateSubscribed(); void updateSubscribed();
void setShowFullName(in boolean showFullName); void setShowFullName(in boolean showFullName);

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

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

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

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

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

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