X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fsqlitestorage.cpp;h=79ccd27fda68cf56dc3a3cc34340e4cbf6386b5f;hb=77397f5e999830077fee13187c6a1ee044d92545;hp=0d870a6a211ae8502bb87da91b5c99bf27013bca;hpb=de1619ce11bf386490cdb38bc1be134a391eeaae;p=quassel.git diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index 0d870a6a..79ccd27f 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -728,7 +728,7 @@ QList SqliteStorage::requestMsgs(UserId user, BufferId bufferId, MsgId return messagelist; } -QList SqliteStorage::requestAllNewMsgs(UserId user, int first, int limit) { +QList SqliteStorage::requestAllMsgs(UserId user, MsgId first, MsgId last, int limit) { QList messagelist; QHash bufferInfoHash; @@ -737,17 +737,22 @@ QList SqliteStorage::requestAllNewMsgs(UserId user, int first, int limi } QSqlQuery query(logDb()); - query.prepare(queryString("select_messagesAllNew")); + if(last == -1) { + query.prepare(queryString("select_messagesAllNew")); + } else { + query.prepare(queryString("select_messagesAll")); + query.bindValue(":lastmsg", last.toInt()); + } query.bindValue(":userid", user.toInt()); - query.bindValue(":firstmsg", first); + query.bindValue(":firstmsg", first.toInt()); query.bindValue(":limit", limit); safeExec(query); watchQuery(query); while(query.next()) { - Message msg(QDateTime::fromTime_t(query.value(1).toInt()), - bufferInfoHash[query.value(2).toInt()], + Message msg(QDateTime::fromTime_t(query.value(2).toInt()), + bufferInfoHash[query.value(1).toInt()], (Message::Type)query.value(3).toUInt(), query.value(6).toString(), query.value(5).toString(),