add GetLocalFoldersServer() for bienvenu, and use it in the account wizard.

also, stub out news filter migration calls in the messenger migrator code.
r=bienvenu
This commit is contained in:
sspitzer%netscape.com 2000-04-02 16:52:29 +00:00
Родитель 29f1d9a2cc
Коммит 3f5595153a
5 изменённых файлов: 28 добавлений и 9 удалений

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

@ -333,16 +333,14 @@ function copyObjectToInterface(dest, src) {
}
}
// check if there already is a "none" account. (aka "Local Folders")
// check if there already is a "Local Folders"
// if not, create it.
function verifyLocalFoldersAccount(account) {
dump("Looking for local mail..\n");
dump("Looking for Local Folders.....\n");
var localMailServer = null;
try {
// look for anything that is of type "none".
// "none" is the type for "Local Mail"
localMailServer = am.FindServer("","","none");
localMailServer = am.localFoldersServer;
}
catch (ex) {
// dump("exception in findserver: " + ex + "\n");
@ -364,7 +362,7 @@ function verifyLocalFoldersAccount(account) {
messengerMigrator = Components.classes["component://netscape/messenger/migrator"].getService(Components.interfaces.nsIMessengerMigrator);
messengerMigrator.createLocalMailAccount(false /* false, since we are not migrating */);
try {
localMailServer = am.FindServer("","","none");
localMailServer = am.localFoldersServer;
}
catch (ex) {
dump("error! we should have found the local mail server after we created it.\n");

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

@ -66,7 +66,6 @@ interface nsIMsgAccountManager : nsISupports {
*/
nsIMsgIncomingServer getIncomingServer(in string key);
/* account list stuff */
/* defaultAccount should always be set if there are any accounts
@ -119,6 +118,10 @@ interface nsIMsgAccountManager : nsISupports {
*/
nsISupportsArray GetServersForIdentity(in nsIMsgIdentity identity);
/* there is a special server "Local Folders" that is guaranteed to exist.
* this will allow you to get */
readonly attribute nsIMsgIncomingServer localFoldersServer;
/* load accounts kicks off the creation of all accounts. You do not need
* to call this and all accounts should be loaded lazily if you use any
* of the above.

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

@ -1247,6 +1247,10 @@ nsMessengerMigrator::MigrateMovemailAccount(nsIMsgIdentity *identity)
rv = SetSendLaterUriPref(server);
if (NS_FAILED(rv)) return rv;
// migrate the filter file
rv = MigrateFilters(server);
if (NS_FAILED(rv)) return rv;
// we could only have one movemail account in 4.x, so we make it the default in 5.0
rv = accountManager->SetDefaultAccount(account);
return rv;
@ -2178,8 +2182,8 @@ nsMessengerMigrator::MigrateNewsAccount(nsIMsgIdentity *identity, const char *ho
newsDir->CreateDir();
}
// migrate the filter file
rv = MigrateFilters(server);
// migrate the filter files
rv = MigrateNewsFilters(server);
if (NS_FAILED(rv)) return rv;
return NS_OK;
@ -2218,6 +2222,14 @@ nsMessengerMigrator::MigrateOldNntpPrefs(nsIMsgIncomingServer *server, const cha
#define MIGRATE_FILTERS 1
#endif
nsresult nsMessengerMigrator::MigrateNewsFilters(nsIMsgIncomingServer *aServer)
{
#ifdef DEBUG
printf("news filter files aren't migrated, because we don't support hostinfo.dat files yet. I'm working on it.\n");
#endif
return NS_OK;
}
nsresult nsMessengerMigrator::MigrateFilters(nsIMsgIncomingServer *aServer)
{
#ifdef MIGRATE_FILTERS

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

@ -121,6 +121,7 @@ private:
nsresult SetSendLaterUriPref(nsIMsgIncomingServer *server);
nsresult MigrateFilters(nsIMsgIncomingServer *server);
nsresult MigrateNewsFilters(nsIMsgIncomingServer *server);
nsresult getPrefService();

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

@ -1621,3 +1621,8 @@ nsMsgAccountManager::removeListener(nsHashKey *aKey, void *element, void *aData)
return PR_TRUE;
}
NS_IMETHODIMP nsMsgAccountManager::GetLocalFoldersServer(nsIMsgIncomingServer **aServer)
{
// right now, search for a server of type "none". eventually, we'll do this differently.
return FindServer(nsnull,nsnull,"none",aServer);
}