Fix event propagation
[quassel.git] / src / common / eventmanager.h
index 4030cff..bc0a1d4 100644 (file)
@@ -46,9 +46,11 @@ public:
   };
 
   enum EventFlag {
-    Backlog = 0x20,
-    Silent  = 0x40, ///< Don't generate a MessageEvent
-    Stopped = 0x80
+    Fake     = 0x08, ///< Ignore this in CoreSessionEventProcessor
+    Netsplit = 0x10, ///< Netsplit join/part, ignore on display
+    Backlog  = 0x20,
+    Silent   = 0x40, ///< Don't generate a MessageEvent
+    Stopped  = 0x80
   };
   Q_DECLARE_FLAGS(EventFlags, EventFlag)
 
@@ -71,6 +73,8 @@ public:
     NetworkReconnecting,
     NetworkDisconnecting,
     NetworkDisconnected,
+    NetworkSplitJoin,
+    NetworkSplitQuit,
     NetworkIncoming,
 
     IrcServerEvent              = 0x00020000,
@@ -154,7 +158,7 @@ private:
   inline HandlerHash &registeredFilters() { return _registeredFilters; }
 
   //! Add handlers to an existing sorted (by priority) handler list
-  void insertHandlers(const QList<Handler> &newHandlers, QList<Handler> &existing);
+  void insertHandlers(const QList<Handler> &newHandlers, QList<Handler> &existing, bool checkDupes = false);
   //! Add filters to an existing filter hash
   void insertFilters(const QList<Handler> &newFilters, QHash<QObject *, Handler> &existing);