fixing Quit propagation
[quassel.git] / src / common / ircuser.cpp
index 9cb2dfa..181f110 100644 (file)
@@ -28,6 +28,7 @@
 #include <QTextCodec>
 #include <QDebug>
 
+INIT_SYNCABLE_OBJECT(IrcUser)
 IrcUser::IrcUser(const QString &hostmask, Network *network) : SyncableObject(network),
     _initialized(false),
     _nick(nickFromMask(hostmask)),
@@ -109,14 +110,14 @@ QByteArray IrcUser::encodeString(const QString &string) const {
 void IrcUser::setUser(const QString &user) {
   if(!user.isEmpty() && _user != user) {
     _user = user;
-    emit userSet(user);
+    SYNC(ARG(user));
   }
 }
 
 void IrcUser::setRealName(const QString &realName) {
   if (!realName.isEmpty() && _realName != realName) {
     _realName = realName;
-    emit realNameSet(realName);
+    SYNC(ARG(realName))
   }
 }
 
@@ -124,13 +125,14 @@ void IrcUser::setAway(const bool &away) {
   if(away != _away) {
     _away = away;
     emit awaySet(away);
+    SYNC(ARG(away))
   }
 }
 
 void IrcUser::setAwayMessage(const QString &awayMessage) {
   if(!awayMessage.isEmpty() && _awayMessage != awayMessage) {
     _awayMessage = awayMessage;
-    emit awayMessageSet(awayMessage);
+    SYNC(ARG(awayMessage))
   }
 }
 
@@ -138,42 +140,42 @@ void IrcUser::setIdleTime(const QDateTime &idleTime) {
   if(idleTime.isValid() && _idleTime != idleTime) {
     _idleTime = idleTime;
     _idleTimeSet = QDateTime::currentDateTime();
-    emit idleTimeSet(idleTime);
+    SYNC(ARG(idleTime))
   }
 }
 
 void IrcUser::setLoginTime(const QDateTime &loginTime) {
   if(loginTime.isValid() && _loginTime != loginTime) {
     _loginTime = loginTime;
-    emit loginTimeSet(loginTime);
+    SYNC(ARG(loginTime))
   }
 }
 
 void IrcUser::setServer(const QString &server) {
   if(!server.isEmpty() && _server != server) {
     _server = server;
-    emit serverSet(server);
+    SYNC(ARG(server))
   }
 }
 
 void IrcUser::setIrcOperator(const QString &ircOperator) {
   if(!ircOperator.isEmpty() && _ircOperator != ircOperator) {
     _ircOperator = ircOperator;
-    emit ircOperatorSet(ircOperator);
+    SYNC(ARG(ircOperator))
   }
 }
 
 void IrcUser::setLastAwayMessage(const int &lastAwayMessage) {
   if(lastAwayMessage > _lastAwayMessage) {
     _lastAwayMessage = lastAwayMessage;
-    emit lastAwayMessageSet(lastAwayMessage);
+    SYNC(ARG(lastAwayMessage))
   }
 }
 
 void IrcUser::setHost(const QString &host) {
   if(!host.isEmpty() && _host != host) {
     _host = host;
-    emit hostSet(host);
+    SYNC(ARG(host))
   }
 }
 
@@ -182,20 +184,21 @@ void IrcUser::setNick(const QString &nick) {
     _nick = nick;
     updateObjectName();
     emit nickSet(nick);
+    SYNC(ARG(nick))
   }
 }
 
 void IrcUser::setWhoisServiceReply(const QString &whoisServiceReply) {
   if(!whoisServiceReply.isEmpty() && whoisServiceReply != _whoisServiceReply) {
     _whoisServiceReply = whoisServiceReply;
-    emit whoisServiceReplySet(whoisServiceReply);
+    SYNC(ARG(whoisServiceReply))
   }
 }
 
 void IrcUser::setSuserHost(const QString &suserHost) {
   if(!suserHost.isEmpty() && suserHost != _suserHost) {
     _suserHost = suserHost;
-    emit suserHostSet(suserHost);
+    SYNC(ARG(suserHost))
   }
 }
 
@@ -217,7 +220,7 @@ void IrcUser::joinChannel(IrcChannel *channel) {
   Q_ASSERT(channel);
   if(!_channels.contains(channel)) {
     _channels.insert(channel);
-    channel->joinIrcUsers(this);
+    channel->joinIrcUser(this);
   }
 }
 
@@ -230,7 +233,8 @@ void IrcUser::partChannel(IrcChannel *channel) {
     _channels.remove(channel);
     disconnect(channel, 0, this, 0);
     channel->part(this);
-    emit channelParted(channel->name());
+    QString channelName = channel->name();
+    SYNC_OTHER(partChannel, ARG(channelName))
     if(_channels.isEmpty() && !network()->isMe(this))
       quit();
   }
@@ -253,6 +257,7 @@ void IrcUser::quit() {
     channel->part(this);
   }
   network()->removeIrcUser(this);
+  SYNC(NO_ARG)
   emit quited();
 }
 
@@ -268,6 +273,7 @@ void IrcUser::channelDestroyed() {
 
 void IrcUser::setUserModes(const QString &modes) {
   _userModes = modes;
+  SYNC(ARG(modes))
   emit userModesSet(modes);
 }
 
@@ -280,6 +286,7 @@ void IrcUser::addUserModes(const QString &modes) {
       _userModes += modes[i];
   }
 
+  SYNC(ARG(modes))
   emit userModesAdded(modes);
 }
 
@@ -290,6 +297,7 @@ void IrcUser::removeUserModes(const QString &modes) {
   for(int i = 0; i < modes.count(); i++) {
     _userModes.remove(modes[i]);
   }
+  SYNC(ARG(modes))
   emit userModesRemoved(modes);
 }
 
@@ -300,6 +308,5 @@ void IrcUser::setLastChannelActivity(BufferId buffer, const QDateTime &time) {
 
 void IrcUser::setLastSpokenTo(BufferId buffer, const QDateTime &time) {
   _lastSpokenTo[buffer] = time;
-  qDebug() << "last spoken to" << nick() << buffer << time;
   emit lastSpokenToUpdated(buffer, time);
 }