X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fnetworkconnection.h;h=d6d1830686de5a0d1245cfea530bc567637826ee;hp=57fd9d25648fe1eb8e64c51266342df6715b487e;hb=3ed7d3bb6e9123ff0aa77023b264a39d1f63bd90;hpb=51a5077e9ce7044ea195fe71b112594367fac541 diff --git a/src/core/networkconnection.h b/src/core/networkconnection.h index 57fd9d25..d6d18306 100644 --- a/src/core/networkconnection.h +++ b/src/core/networkconnection.h @@ -77,17 +77,20 @@ public: //! Encode a string using the user-specific encoding, if set, and use the standard encoding else. QByteArray userEncode(const QString &userNick, const QString &string) const; - inline QString channelKey(const QString &channel) const { return _channelKeys.value(channel, QString()); } + inline QString channelKey(const QString &channel) const { return _channelKeys.value(channel.toLower(), QString()); } + inline QStringList persistentChannels() const { return _channelKeys.keys(); } public slots: // void setServerOptions(); void connectToIrc(bool reconnecting = false); - void disconnectFromIrc(); + void disconnectFromIrc(bool requested = true); void userInput(BufferInfo bufferInfo, QString msg); void putRawLine(QByteArray input); void putCmd(const QString &cmd, const QVariantList ¶ms, const QByteArray &prefix = QByteArray()); + void setChannelJoined(const QString &channel); + void setChannelParted(const QString &channel); void addChannelKey(const QString &channel, const QString &key); void removeChannelKey(const QString &channel); @@ -114,6 +117,8 @@ signals: //void queryRequested(QString network, QString nick); void nickChanged(const NetworkId &networkId, const QString &newNick, const QString &oldNick); // this signal is inteded to rename query buffers in the storage backend + void channelJoined(NetworkId, const QString &channel, const QString &key = QString()); + void channelParted(NetworkId, const QString &channel); private slots: void socketHasData(); @@ -136,7 +141,8 @@ private: UserInputHandler *_userInputHandler; CtcpHandler *_ctcpHandler; - QHash _channelKeys; + QHash _channelKeys; // stores persistent channels and their passwords, if any + QTimer _autoReconnectTimer; int _autoReconnectCount;