this should hopefully fix the dreaded BR #140 (sync to core hangs)
[quassel.git] / src / common / network.h
index 6631043..9704646 100644 (file)
 #include "syncableobject.h"
 
 #include "signalproxy.h"
+#include "ircuser.h"
 #include "ircchannel.h"
 
-class IrcUser;
-
 // defined below!
 struct NetworkInfo;
 
@@ -98,7 +97,7 @@ public:
   inline void setProxy(SignalProxy *proxy) { _proxy = proxy; }
 
   inline bool isMyNick(const QString &nick) const { return (myNick().toLower() == nick.toLower()); }
-  inline bool isMe(IrcUser *ircuser) const { return (ircuser == me()); }
+  inline bool isMe(IrcUser *ircuser) const { return (ircuser->nick().toLower() == myNick().toLower()); }
 
   bool isChannelName(const QString &channelname) const;
 
@@ -205,6 +204,7 @@ public slots:
 
   inline void addIrcUser(const QString &hostmask) { newIrcUser(hostmask); }
   inline void addIrcChannel(const QString &channel) { newIrcChannel(channel); }
+  void removeDeletedIrcUser(const QString &username);
   void removeIrcUser(const QString &nick);
   void removeIrcChannel(const QString &channel);
 
@@ -275,6 +275,7 @@ signals:
   void ircChannelAdded(const QString &channelname);
   void ircChannelAdded(IrcChannel *);
 
+  void deletedIrcUserRemoved(const QString &username);
   void ircUserRemoved(const QString &nick);
   void ircChannelRemoved(const QString &channel);