X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fsqlitestorage.cpp;h=2121f79fd4d0794e0caaff4a7a9400e6acd19db6;hb=9a36f8e55bfa485467e093fba669841fdfacda2f;hp=3176ec4b05318d8a8f472499504fc43f98cbda70;hpb=8ec76e512d20ce5d1dc76de556bb98a06b75d695;p=quassel.git diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index 3176ec4b..2121f79f 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -24,6 +24,8 @@ #include "network.h" +#include "util.h" + SqliteStorage::SqliteStorage(QObject *parent) : AbstractSqlStorage(parent) { @@ -619,13 +621,17 @@ QList SqliteStorage::requestMsgs(UserId user, BufferId bufferId, int la if(!bufferInfo.isValid()) return messagelist; - // we have to determine the real offset first - QSqlQuery *offsetQuery = cachedQuery("select_messagesOffset"); - offsetQuery->bindValue(":bufferid", bufferId.toInt()); - offsetQuery->bindValue(":messageid", offset); - offsetQuery->exec(); - offsetQuery->first(); - offset = offsetQuery->value(0).toInt(); + if(offset == -1) { + offset = 0; + } else { + // we have to determine the real offset first + QSqlQuery *offsetQuery = cachedQuery("select_messagesOffset"); + offsetQuery->bindValue(":bufferid", bufferId.toInt()); + offsetQuery->bindValue(":messageid", offset); + offsetQuery->exec(); + offsetQuery->first(); + offset = offsetQuery->value(0).toInt(); + } // now let's select the messages QSqlQuery *msgQuery = cachedQuery("select_messages"); @@ -719,18 +725,7 @@ QList SqliteStorage::requestMsgRange(UserId user, BufferId bufferId, in } QString SqliteStorage::backlogFile() { - // kinda ugly, but I currently see no other way to do that -#ifdef Q_OS_WIN32 - QString quasselDir = QDir::homePath() + qgetenv("APPDATA") + "\\quassel\\"; -#else - QString quasselDir = QDir::homePath() + "/.quassel/"; -#endif - - QDir qDir(quasselDir); - if(!qDir.exists(quasselDir)) - qDir.mkpath(quasselDir); - - return quasselDir + "quassel-storage.sqlite"; + return quasselDir().absolutePath() + "/quassel-storage.sqlite"; }