initScriptEngine();
// init BufferSyncer
- QHash<BufferId, QDateTime> lastSeenHash = Core::bufferLastSeenDates(user());
- foreach(BufferId id, lastSeenHash.keys()) _bufferSyncer->requestSetLastSeen(id, lastSeenHash[id]);
- connect(_bufferSyncer, SIGNAL(lastSeenSet(BufferId, const QDateTime &)), this, SLOT(storeBufferLastSeen(BufferId, const QDateTime &)));
+ QHash<BufferId, MsgId> lastSeenHash = Core::bufferLastSeenMsgIds(user());
+ foreach(BufferId id, lastSeenHash.keys())
+ _bufferSyncer->requestSetLastSeenMsg(id, lastSeenHash[id]);
+
+ connect(_bufferSyncer, SIGNAL(lastSeenMsgSet(BufferId, MsgId)), this, SLOT(storeBufferLastSeenMsg(BufferId, MsgId)));
connect(_bufferSyncer, SIGNAL(removeBufferRequested(BufferId)), this, SLOT(removeBufferRequested(BufferId)));
connect(this, SIGNAL(bufferRemoved(BufferId)), _bufferSyncer, SLOT(removeBuffer(BufferId)));
connect(this, SIGNAL(bufferRenamed(BufferId, QString)), _bufferSyncer, SLOT(renameBuffer(BufferId, QString)));
}
void CoreSession::restoreSessionState() {
- // FIXME db support
- //QList<NetworkId> nets = Core::connectedNetworks(user());
- QList<NetworkId> nets;
+ QList<NetworkId> nets = Core::connectedNetworks(user());
foreach(NetworkId id, nets) {
connectToNetwork(id);
}
// FIXME we need a sane way for creating buffers!
void CoreSession::networkConnected(NetworkId networkid) {
Core::bufferInfo(user(), networkid, BufferInfo::StatusBuffer); // create status buffer
- //Core::setNetworkConnected(user(), networkid, true);
+ Core::setNetworkConnected(user(), networkid, true);
}
// called now only on /quit and requested disconnects, not on normal disconnects!
void CoreSession::networkDisconnected(NetworkId networkid) {
- //Core::setNetworkConnected(user(), networkid, false);
+ Core::setNetworkConnected(user(), networkid, false);
if(_connections.contains(networkid)) _connections.take(networkid)->deleteLater();
}
void CoreSession::channelJoined(NetworkId id, const QString &channel, const QString &key) {
- //Core::setChannelPersistent(user(), id, channel, true);
- //Core::setPersistentChannelKey(user(), id, channel, key);
+ Core::setChannelPersistent(user(), id, channel, true);
+ Core::setPersistentChannelKey(user(), id, channel, key);
}
void CoreSession::channelParted(NetworkId id, const QString &channel) {
- //Core::setChannelPersistent(user(), id, channel, false);
+ Core::setChannelPersistent(user(), id, channel, false);
}
QHash<QString, QString> CoreSession::persistentChannels(NetworkId id) const {
- //return Core::persistentChannels(user(), id);
+ return Core::persistentChannels(user(), id);
return QHash<QString, QString>();
}
return v;
}
-void CoreSession::storeBufferLastSeen(BufferId buffer, const QDateTime &lastSeen) {
- Core::setBufferLastSeen(user(), buffer, lastSeen);
+void CoreSession::storeBufferLastSeenMsg(BufferId buffer, const MsgId &msgId) {
+ Core::setBufferLastSeenMsg(user(), buffer, msgId);
}
void CoreSession::sendBacklog(BufferInfo id, QVariant v1, QVariant v2) {