/*** core connection stuff ***/
-void Client::setConnectedToCore(QIODevice *socket, AccountId id) {
- // if the socket is an orphan, the signalProxy adopts it.
- // -> we don't need to care about it anymore
- socket->setParent(0);
- signalProxy()->addPeer(socket);
+void Client::setConnectedToCore(AccountId id, QIODevice *socket) {
+ if(socket) { // external core
+ // if the socket is an orphan, the signalProxy adopts it.
+ // -> we don't need to care about it anymore
+ socket->setParent(0);
+ signalProxy()->addPeer(socket);
+ }
_connectedToCore = true;
setCurrentCoreAccount(id);
}
-void Client::setConnectedToInternalCore() {
- _connectedToCore = true;
- setCurrentCoreAccount(AccountId());
-}
-
void Client::setSyncedToCore() {
// create buffersyncer
Q_ASSERT(!_bufferSyncer);
connect(bufferSyncer(), SIGNAL(lastSeenMsgSet(BufferId, MsgId)), _networkModel, SLOT(setLastSeenMsgId(BufferId, MsgId)));
connect(bufferSyncer(), SIGNAL(bufferRemoved(BufferId)), this, SLOT(bufferRemoved(BufferId)));
connect(bufferSyncer(), SIGNAL(bufferRenamed(BufferId, QString)), this, SLOT(bufferRenamed(BufferId, QString)));
+ connect(bufferSyncer(), SIGNAL(initDone()), this, SLOT(requestInitialBacklog()));
+ connect(networkModel(), SIGNAL(setLastSeenMsg(BufferId, MsgId)), bufferSyncer(), SLOT(requestSetLastSeenMsg(BufferId, const MsgId &)));
signalProxy()->synchronize(bufferSyncer());
// create a new BufferViewManager
+ Q_ASSERT(!_bufferViewManager);
_bufferViewManager = new BufferViewManager(signalProxy(), this);
+ connect(bufferViewManager(), SIGNAL(initDone()), this, SLOT(requestInitialBacklog()));
_syncedToCore = true;
emit connected();
emit coreConnectionStateChanged(true);
}
+void Client::requestInitialBacklog() {
+ if(bufferViewManager()->isInitialized() && bufferSyncer()->isInitialized())
+ Client::backlogManager()->requestInitialBacklog();
+}
+
void Client::setSecuredConnection() {
emit securedConnection();
}
}
void Client::logMessage(QtMsgType type, const char *msg) {
+ fprintf(stderr, "%s\n", msg);
+ fflush(stderr);
if(type == QtFatalMsg) {
Quassel::logFatalMessage(msg);
} else {
- fprintf(stderr, "%s\n", msg);
- fflush(stderr);
QString msgString = QString("%1\n").arg(msg);
instance()->_debugLog << msgString;
emit instance()->logUpdated(msgString);