- 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)));
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)));
// FIXME we need a sane way for creating buffers!
void CoreSession::networkConnected(NetworkId networkid) {
Core::bufferInfo(user(), networkid, BufferInfo::StatusBuffer); // create status buffer
// FIXME we need a sane way for creating buffers!
void CoreSession::networkConnected(NetworkId networkid) {
Core::bufferInfo(user(), networkid, BufferInfo::StatusBuffer); // create status buffer
}
// called now only on /quit and requested disconnects, not on normal disconnects!
void CoreSession::networkDisconnected(NetworkId networkid) {
}
// called now only on /quit and requested disconnects, not on normal disconnects!
void CoreSession::networkDisconnected(NetworkId networkid) {
if(_connections.contains(networkid)) _connections.take(networkid)->deleteLater();
}
void CoreSession::channelJoined(NetworkId id, const QString &channel, const QString &key) {
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);
- //Core::setChannelPersistent(user(), id, channel, false);
+ Core::setChannelPersistent(user(), id, channel, false);
-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);