X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresession.cpp;h=491e99a882ff82c97deb4feb837042b37b06c1c5;hp=8237d25361c17fc729224bca272344f8415681ce;hb=558260f52de5a9b1364f5672ace17554efc10a74;hpb=674ad8ee4369cbc9516eb6d6629a616e9310c71f diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index 8237d253..491e99a8 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -51,7 +51,6 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) _coreInfo(this), scriptEngine(new QScriptEngine(this)) { - SignalProxy *p = signalProxy(); connect(p, SIGNAL(peerRemoved(QIODevice *)), this, SLOT(removeClient(QIODevice *))); @@ -75,30 +74,18 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) loadSettings(); initScriptEngine(); - // init BufferSyncer - QHash lastSeenHash = Core::bufferLastSeenMsgIds(user()); - foreach(BufferId id, lastSeenHash.keys()) - _bufferSyncer->requestSetLastSeenMsg(id, lastSeenHash[id]); - connect(&(Core::instance()->syncTimer()), SIGNAL(timeout()), _bufferSyncer, SLOT(storeDirtyIds())); - p->synchronize(_bufferSyncer); + connect(&(Core::instance()->syncTimer()), SIGNAL(timeout()), _bufferViewManager, SLOT(saveBufferViews())); - - // init alias manager + p->synchronize(_bufferSyncer); p->synchronize(&aliasManager()); - - // init BacklogManager p->synchronize(_backlogManager); - p->dumpSyncMap(_backlogManager); - - // init IrcListHelper p->synchronize(ircListHelper()); - - // init CoreInfo p->synchronize(&_coreInfo); // Restore session state - if(restoreState) restoreSessionState(); + if(restoreState) + restoreSessionState(); emit initialized(); } @@ -160,6 +147,7 @@ void CoreSession::loadSettings() { void CoreSession::saveSessionState() const { _bufferSyncer->storeDirtyIds(); + _bufferViewManager->saveBufferViews(); } void CoreSession::restoreSessionState() { @@ -383,7 +371,9 @@ void CoreSession::destroyNetwork(NetworkId id) { void CoreSession::renameBuffer(const NetworkId &networkId, const QString &newName, const QString &oldName) { BufferInfo bufferInfo = Core::bufferInfo(user(), networkId, BufferInfo::QueryBuffer, oldName, false); - _bufferSyncer->renameBuffer(bufferInfo.bufferId(), newName); + if(bufferInfo.isValid()) { + _bufferSyncer->renameBuffer(bufferInfo.bufferId(), newName); + } } void CoreSession::clientsConnected() {