- QDataStream in(&f);
- in.setVersion(QDataStream::Qt_4_2);
- QByteArray verstring; quint8 vernum; in >> verstring >> vernum;
- if(verstring != BACKLOG_STRING) {
- qWarning(QString("\"%1\" is not a Quassel backlog file!").arg(f.fileName()).toAscii());
- f.close(); continue;
- }
- if(vernum != BACKLOG_FORMAT) {
- qWarning(QString("\"%1\": Version mismatch!").arg(f.fileName()).toAscii());
- f.close(); continue;
- }
- qDebug() << "Reading backlog from" << f.fileName();
- currentLogFileDate = QDate::fromString(f.fileName(), QString("'%1/quassel-backlog-'yyyy-MM-dd'.bin'").arg(backLogDir.absolutePath()));
- if(!currentLogFileDate.isValid()) {
- qWarning(QString("\"%1\" has an invalid file name!").arg(f.fileName()).toAscii());
+ QStringList logs = dir.entryList(QStringList("quassel-backlog-*.bin"), QDir::Files|QDir::Readable, QDir::Name);
+ foreach(QString name, logs) {
+ QFile f(dir.absolutePath() + "/" + name);
+ if(!f.open(QIODevice::ReadOnly)) {
+ qWarning(QString("Could not open \"%1\" for reading!").arg(f.fileName()).toAscii());
+ continue;
+ }
+ QDataStream in(&f);
+ in.setVersion(QDataStream::Qt_4_2);
+ QByteArray verstring; quint8 vernum; in >> verstring >> vernum;
+ if(verstring != BACKLOG_STRING) {
+ qWarning(QString("\"%1\" is not a Quassel backlog file!").arg(f.fileName()).toAscii());
+ f.close(); continue;
+ }
+ if(vernum != BACKLOG_FORMAT) {
+ qWarning(QString("\"%1\": Version mismatch!").arg(f.fileName()).toAscii());
+ f.close(); continue;
+ }
+ qDebug() << "Reading backlog from" << f.fileName();
+ logFileDates[net] = QDate::fromString(f.fileName(),
+ QString("'%1/quassel-backlog-'yyyy-MM-dd'.bin'").arg(dir.absolutePath()));
+ if(!logFileDates[net].isValid()) {
+ qWarning(QString("\"%1\" has an invalid file name!").arg(f.fileName()).toAscii());
+ }
+ while(!in.atEnd()) {
+ Message m;
+ in >> m;
+ backLog[net].append(m);
+ }
+ f.close();