зеркало из https://github.com/mozilla/pjs.git
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:
Родитель
756f7aff67
Коммит
620a220db9
|
@ -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
|
||||||
|
|
Загрузка…
Ссылка в новой задаче