void AccountManager::LoadAccounts() { QDir appDir(QCoreApplication::applicationDirPath()); if(appDir.exists("accounts.dat")) { QFile accountsFile(appDir.absoluteFilePath("accounts.dat")); if(accountsFile.open(QIODevice::ReadOnly)) { QDataStream in(&accountsFile); in.setVersion(QDataStream::Qt_4_3); int version; in >> version; while(!in.atEnd()) { Account * a = new Account(in, version); if(in.status() == QDataStream::Ok) { listOfAccounts.append(a); listOfAccountsByName.insert(a->GetLogin(), a); } else { LogError("Bad account file, stop parsing"); delete a; break; } } }