added cipher to channel + user
[quassel.git] / src / common / ircuser.cpp
index e42bea7..1dbb0f0 100644 (file)
@@ -47,6 +47,10 @@ IrcUser::IrcUser(const QString &hostmask, Network *network) : SyncableObject(net
     _codecForDecoding(0)
 {
   updateObjectName();
+  
+  #ifdef HAVE_QCA2
+  _cipher = 0;
+  #endif
 }
 
 IrcUser::~IrcUser() {
@@ -125,6 +129,7 @@ void IrcUser::setAway(const bool &away) {
   if(away != _away) {
     _away = away;
     SYNC(ARG(away))
+    emit awaySet(away);
   }
 }
 
@@ -183,6 +188,7 @@ void IrcUser::setNick(const QString &nick) {
     _nick = nick;
     updateObjectName();
     SYNC(ARG(nick))
+    emit nickSet(nick);
   }
 }
 
@@ -218,7 +224,7 @@ void IrcUser::joinChannel(IrcChannel *channel) {
   Q_ASSERT(channel);
   if(!_channels.contains(channel)) {
     _channels.insert(channel);
-    channel->joinIrcUsers(this);
+    channel->joinIrcUser(this);
   }
 }
 
@@ -231,7 +237,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();
   }
@@ -254,6 +261,7 @@ void IrcUser::quit() {
     channel->part(this);
   }
   network()->removeIrcUser(this);
+  SYNC(NO_ARG)
   emit quited();
 }
 
@@ -270,6 +278,7 @@ void IrcUser::channelDestroyed() {
 void IrcUser::setUserModes(const QString &modes) {
   _userModes = modes;
   SYNC(ARG(modes))
+  emit userModesSet(modes);
 }
 
 void IrcUser::addUserModes(const QString &modes) {
@@ -282,6 +291,7 @@ void IrcUser::addUserModes(const QString &modes) {
   }
 
   SYNC(ARG(modes))
+  emit userModesAdded(modes);
 }
 
 void IrcUser::removeUserModes(const QString &modes) {
@@ -292,6 +302,7 @@ void IrcUser::removeUserModes(const QString &modes) {
     _userModes.remove(modes[i]);
   }
   SYNC(ARG(modes))
+  emit userModesRemoved(modes);
 }
 
 void IrcUser::setLastChannelActivity(BufferId buffer, const QDateTime &time) {
@@ -303,3 +314,16 @@ void IrcUser::setLastSpokenTo(BufferId buffer, const QDateTime &time) {
   _lastSpokenTo[buffer] = time;
   emit lastSpokenToUpdated(buffer, time);
 }
+
+#ifdef HAVE_QCA2
+Cipher* IrcUser::cipher() {
+  if(!_cipher)
+    _cipher = new Cipher();
+  return _cipher;
+}
+#endif
+
+void IrcUser::setEncrypted(bool e) {
+  Q_UNUSED(e);
+  // TODO
+}
\ No newline at end of file