updating the sync dialog according to the new sync system
[quassel.git] / src / core / core.cpp
index b156b2d..1833927 100644 (file)
@@ -55,6 +55,9 @@ Core::Core() : storage(0) {
 
   if(!_storageBackends.count()) {
     qWarning() << qPrintable(tr("Could not initialize any storage backend! Exiting..."));
+    qWarning() << qPrintable(tr("Currently, Quassel only supports SQLite3. You need to build your\n"
+                                "Qt library with the sqlite plugin enabled in order for quasselcore\n"
+                                "to work."));
     exit(1); // TODO make this less brutal (especially for mono client -> popup)
   }
   connect(&_storageSyncTimer, SIGNAL(timeout()), this, SLOT(syncStorage()));
@@ -309,6 +312,11 @@ QList<BufferInfo> Core::requestBuffers(UserId user) {
   return instance()->storage->requestBuffers(user);
 }
 
+QList<BufferId> Core::requestBufferIdsForNetwork(UserId user, NetworkId networkId) {
+  QMutexLocker locker(&mutex);
+  return instance()->storage->requestBufferIdsForNetwork(user, networkId);
+}
+
 bool Core::removeBuffer(const UserId &user, const BufferId &bufferId) {
   QMutexLocker locker(&mutex);
   return instance()->storage->removeBuffer(user, bufferId);
@@ -386,8 +394,10 @@ void Core::processClientMessage(QTcpSocket *socket, const QVariantMap &msg) {
     QVariantMap reply;
 
     // Just version information -- check it!
-    if((msg.contains("ClientBuild") && msg["ClientBuild"].toUInt() < 732)
-       || (!msg.contains("ClientBuild") && msg["ProtocolVersion"].toUInt() < Global::coreNeedsProtocol)) {
+    uint ver = 0;
+    if(!msg.contains("ProtocolVersion") && msg["ClientBuild"].toUInt() >= 732) ver = 1; // FIXME legacy
+    if(msg.contains("ProtocolVersion")) ver = msg["ProtocolVersion"].toUInt();
+    if(ver < Global::coreNeedsProtocol) {
       reply["MsgType"] = "ClientInitReject";
       reply["Error"] = tr("<b>Your Quassel Client is too old!</b><br>"
       "This core needs at least client/core protocol version %1.<br>"