-void IrcUser::updateObjectName() {
- QString newName = QString::number(networkInfo->networkId()) + "/" + _nick;
- QString oldName = objectName();
- if(oldName != newName) {
- setObjectName(newName);
- emit renameObject(oldName, newName);
- }
+// This function is only ever called by SYNC calls from legacy cores (pre-0.13).
+// Therefore, no SYNC call is needed here.
+void IrcUser::setLastAwayMessage(int lastAwayMessage)
+{
+#if QT_VERSION >= 0x050800
+ QDateTime lastAwayMessageTime = QDateTime::fromSecsSinceEpoch(lastAwayMessage);
+#else
+ // toSecsSinceEpoch() was added in Qt 5.8. Manually downconvert to seconds for now.
+ // See https://doc.qt.io/qt-5/qdatetime.html#toMSecsSinceEpoch
+ QDateTime lastAwayMessageTime = QDateTime::fromMSecsSinceEpoch(lastAwayMessage * 1000);
+#endif
+ lastAwayMessageTime.setTimeSpec(Qt::UTC);
+ setLastAwayMessageTime(lastAwayMessageTime);
+}
+
+void IrcUser::setLastAwayMessageTime(const QDateTime& lastAwayMessageTime)
+{
+ if (lastAwayMessageTime > _lastAwayMessageTime) {
+ _lastAwayMessageTime = lastAwayMessageTime;
+ SYNC(ARG(lastAwayMessageTime))
+ }
+}
+
+void IrcUser::setHost(const QString& host)
+{
+ if (!host.isEmpty() && _host != host) {
+ _host = host;
+ SYNC(ARG(host))
+ }
+}
+
+void IrcUser::setNick(const QString& nick)
+{
+ if (!nick.isEmpty() && nick != _nick) {
+ _nick = nick;
+ updateObjectName();
+ SYNC(ARG(nick))
+ emit nickSet(nick);
+ }
+}
+
+void IrcUser::setWhoisServiceReply(const QString& whoisServiceReply)
+{
+ if (!whoisServiceReply.isEmpty() && whoisServiceReply != _whoisServiceReply) {
+ _whoisServiceReply = whoisServiceReply;
+ SYNC(ARG(whoisServiceReply))
+ }
+}
+
+void IrcUser::setSuserHost(const QString& suserHost)
+{
+ if (!suserHost.isEmpty() && suserHost != _suserHost) {
+ _suserHost = suserHost;
+ SYNC(ARG(suserHost))
+ }
+}
+
+void IrcUser::setEncrypted(bool encrypted)
+{
+ _encrypted = encrypted;
+ emit encryptedSet(encrypted);
+ SYNC(ARG(encrypted))
+}
+
+void IrcUser::updateObjectName()
+{
+ setObjectName(QString::number(network()->networkId().toInt()) + "/" + _nick);