Fixing BR #147. Needs core update.
[quassel.git] / src / core / sqlitestorage.cpp
index ea19ca9..ee83f87 100644 (file)
@@ -188,7 +188,9 @@ NetworkId SqliteStorage::createNetwork(UserId user, const NetworkInfo &info) {
   if(!networkId.isValid()) {
     watchQuery(&query);
   } else {
-    updateNetwork(user, info);
+    NetworkInfo newNetworkInfo = info;
+    newNetworkInfo.networkId = networkId;
+    updateNetwork(user, newNetworkInfo);
   }
   return networkId;
 }
@@ -536,6 +538,21 @@ QList<BufferInfo> SqliteStorage::requestBuffers(UserId user) {
   return bufferlist;
 }
 
+QList<BufferId> SqliteStorage::requestBufferIdsForNetwork(UserId user, NetworkId networkId) {
+  QList<BufferId> bufferList;
+  QSqlQuery query(logDb());
+  query.prepare(queryString("select_buffers_for_network"));
+  query.bindValue(":networkid", networkId.toInt());
+  query.bindValue(":userid", user.toInt());
+
+  query.exec();
+  watchQuery(&query);
+  while(query.next()) {
+    bufferList << BufferId(query.value(0).toInt());
+  }
+  return bufferList;
+}
+
 bool SqliteStorage::removeBuffer(const UserId &user, const BufferId &bufferId) {
   if(!isValidBuffer(user, bufferId))
     return false;
@@ -627,9 +644,9 @@ MsgId SqliteStorage::logMessage(Message msg) {
   logMessageQuery->bindValue(":time", msg.timestamp().toTime_t());
   logMessageQuery->bindValue(":bufferid", msg.bufferInfo().bufferId().toInt());
   logMessageQuery->bindValue(":type", msg.type());
-  logMessageQuery->bindValue(":flags", msg.flags());
+  logMessageQuery->bindValue(":flags", (int)msg.flags());
   logMessageQuery->bindValue(":sender", msg.sender());
-  logMessageQuery->bindValue(":message", msg.text());
+  logMessageQuery->bindValue(":message", msg.contents());
   logMessageQuery->exec();
   
   if(logMessageQuery->lastError().isValid()) {
@@ -686,7 +703,7 @@ QList<Message> SqliteStorage::requestMsgs(UserId user, BufferId bufferId, int la
                 (Message::Type)msgQuery->value(2).toUInt(),
                 msgQuery->value(5).toString(),
                 msgQuery->value(4).toString(),
-                msgQuery->value(3).toUInt());
+                (Message::Flags)msgQuery->value(3).toUInt());
     msg.setMsgId(msgQuery->value(0).toInt());
     messagelist << msg;
   }
@@ -724,7 +741,7 @@ QList<Message> SqliteStorage::requestMsgs(UserId user, BufferId bufferId, QDateT
                 (Message::Type)msgQuery->value(2).toUInt(),
                 msgQuery->value(5).toString(),
                 msgQuery->value(4).toString(),
-                msgQuery->value(3).toUInt());
+                (Message::Flags)msgQuery->value(3).toUInt());
     msg.setMsgId(msgQuery->value(0).toInt());
     messagelist << msg;
   }
@@ -754,7 +771,7 @@ QList<Message> SqliteStorage::requestMsgRange(UserId user, BufferId bufferId, in
                 (Message::Type)rangeQuery->value(2).toUInt(),
                 rangeQuery->value(5).toString(),
                 rangeQuery->value(4).toString(),
-                rangeQuery->value(3).toUInt());
+                (Message::Flags)rangeQuery->value(3).toUInt());
     msg.setMsgId(rangeQuery->value(0).toInt());
     messagelist << msg;
   }