#include "core.h"
#include "coresession.h"
-#include "userinputhandler.h"
+#include "coreuserinputhandler.h"
#include "signalproxy.h"
#include "corebuffersyncer.h"
#include "corebacklogmanager.h"
loadSettings();
initScriptEngine();
- connect(&(Core::instance()->syncTimer()), SIGNAL(timeout()), _bufferSyncer, SLOT(storeDirtyIds()));
- connect(&(Core::instance()->syncTimer()), SIGNAL(timeout()), _bufferViewManager, SLOT(saveBufferViews()));
+ // periodically save our session state
+ connect(&(Core::instance()->syncTimer()), SIGNAL(timeout()), this, SLOT(saveSessionState()));
p->synchronize(_bufferSyncer);
p->synchronize(&aliasManager());
_bufferSyncer->storeDirtyIds();
_bufferViewManager->saveBufferViews();
_networkConfig->save();
+ _aliasManager.save();
+ _ignoreListManager.save();
}
void CoreSession::restoreSessionState() {
BufferInfo bufferInfo = Core::bufferInfo(user(), rawMsg.networkId, rawMsg.bufferType, rawMsg.target);
Message msg(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags);
- networkName = _networks.value(bufferInfo.networkId())->networkName();
+ CoreNetwork *currentNetwork = network(bufferInfo.networkId());
+ networkName = currentNetwork ? currentNetwork->networkName() : QString("");
// if message is ignored with "HardStrictness" we discard it here
if(_ignoreListManager.match(msg, networkName) != IgnoreListManager::HardStrictness) {
Core::storeMessage(msg);
}
Message msg(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags);
- networkName = _networks.value(bufferInfo.networkId())->networkName();
+ CoreNetwork *currentNetwork = network(bufferInfo.networkId());
+ networkName = currentNetwork ? currentNetwork->networkName() : QString("");
// if message is ignored with "HardStrictness" we discard it here
if(_ignoreListManager.match(msg, networkName) == IgnoreListManager::HardStrictness)
continue;