This stores, per channel, when a user has last said something, and when we
addressed it last (using the nick and the completion suffix). We can certainly
do fun stuff with that.
}
emit userModesRemoved(modes);
}
}
emit userModesRemoved(modes);
}
+
+void IrcUser::setLastChannelActivity(BufferId buffer, const QDateTime &time) {
+ _lastActivity[buffer] = time;
+ emit lastChannelActivityUpdated(buffer, time);
+}
+
+void IrcUser::setLastSpokenTo(BufferId buffer, const QDateTime &time) {
+ _lastSpokenTo[buffer] = time;
+ qDebug() << "last spoken to" << nick() << buffer << time;
+ emit lastSpokenToUpdated(buffer, time);
+}
#include <QDateTime>
#include "syncableobject.h"
#include <QDateTime>
#include "syncableobject.h"
class SignalProxy;
class Network;
class SignalProxy;
class Network;
QString decodeString(const QByteArray &text) const;
QByteArray encodeString(const QString &string) const;
QString decodeString(const QByteArray &text) const;
QByteArray encodeString(const QString &string) const;
+ // only valid on client side, these are not synced!
+ inline QDateTime lastChannelActivity(BufferId id) const { return _lastActivity.value(id); }
+ void setLastChannelActivity(BufferId id, const QDateTime &time);
+ inline QDateTime lastSpokenTo(BufferId id) const { return _lastSpokenTo.value(id); }
+ void setLastSpokenTo(BufferId id, const QDateTime &time);
+
public slots:
void setUser(const QString &user);
void setHost(const QString &host);
public slots:
void setUser(const QString &user);
void setHost(const QString &host);
void userModesAdded(QString modes);
void userModesRemoved(QString modes);
void userModesAdded(QString modes);
void userModesRemoved(QString modes);
+ void lastChannelActivityUpdated(BufferId id, const QDateTime &newTime);
+ void lastSpokenToUpdated(BufferId id, const QDateTime &newTime);
+
private slots:
void updateObjectName();
void channelDestroyed();
private slots:
void updateObjectName();
void channelDestroyed();
QTextCodec *_codecForEncoding;
QTextCodec *_codecForDecoding;
QTextCodec *_codecForEncoding;
QTextCodec *_codecForDecoding;
+
+ QHash<BufferId, QDateTime> _lastActivity;
+ QHash<BufferId, QDateTime> _lastSpokenTo;