Don't invoke notifications for own messages, fixes #507
[quassel.git] / src / core / corenetwork.h
index a0b7fee..f50717b 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel Project                          *
+ *   Copyright (C) 2005-09 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -74,7 +74,6 @@ public:
   QByteArray userEncode(const QString &userNick, const QString &string) const;
 
   inline QString channelKey(const QString &channel) const { return _channelKeys.value(channel.toLower(), QString()); }
-  inline QStringList persistentChannels() const { return _channelKeys.keys(); }
 
   inline bool isAutoWhoInProgress(const QString &channel) const { return _autoWhoInProgress.value(channel.toLower(), 0); }
 
@@ -92,7 +91,7 @@ public slots:
   virtual void setAutoReconnectRetries(quint16);
 
   void connectToIrc(bool reconnecting = false);
-  void disconnectFromIrc(bool requested = true, const QString &reason = QString());
+  void disconnectFromIrc(bool requested = true, const QString &reason = QString(), bool withReconnect = false);
 
   void userInput(BufferInfo bufferInfo, QString msg);
   void putRawLine(QByteArray input);
@@ -107,6 +106,9 @@ public slots:
 
   Server usedServer() const;
 
+  inline void resetPong() { _gotPong = true; }
+  inline bool gotPong() { return _gotPong; }
+
 signals:
   void recvRawServerMsg(QString);
   void displayStatusMsg(QString);
@@ -130,6 +132,7 @@ private slots:
   void networkInitialized();
 
   void sendPerform();
+  void restoreUserModes();
   void doAutoReconnect();
   void sendPing();
   void sendAutoWho();
@@ -167,11 +170,13 @@ private:
    * it is needed to determine whether or not the connection needs to be
    * in the automatic session restore. */
   bool _quitRequested;
+  QString _quitReason;
 
   bool _previousConnectionAttemptFailed;
   int _lastUsedServerIndex;
 
   QTimer _pingTimer;
+  bool _gotPong;
 
   bool _autoWhoEnabled;
   QStringList _autoWhoQueue;