#include "network.h"
+#include "util.h"
+
SqliteStorage::SqliteStorage(QObject *parent)
: AbstractSqlStorage(parent)
{
return bufferInfo;
}
-QList<BufferInfo> SqliteStorage::requestBuffers(UserId user, QDateTime since) {
- uint time = 0;
- if(since.isValid())
- time = since.toTime_t();
-
+QList<BufferInfo> SqliteStorage::requestBuffers(UserId user) {
QList<BufferInfo> bufferlist;
QSqlQuery query(logDb());
query.prepare(queryString("select_buffers"));
query.bindValue(":userid", user.toInt());
- query.bindValue(":time", time);
query.exec();
watchQuery(&query);
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");
}
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";
}