+void NetworkConnection::sendWho() {
+ foreach(QString chan, network()->channels()) {
+ putRawLine("WHO " + serverEncode(chan));
+ }
+}
+
+void NetworkConnection::setChannelJoined(const QString &channel) {
+ emit channelJoined(networkId(), channel, _channelKeys[channel.toLower()]);
+}
+
+void NetworkConnection::setChannelParted(const QString &channel) {
+ removeChannelKey(channel);
+ emit channelParted(networkId(), channel);
+}
+
+void NetworkConnection::addChannelKey(const QString &channel, const QString &key) {
+ if(key.isEmpty()) {
+ removeChannelKey(channel);
+ } else {
+ _channelKeys[channel.toLower()] = key;
+ }
+}
+
+void NetworkConnection::removeChannelKey(const QString &channel) {
+ _channelKeys.remove(channel.toLower());
+}
+
+void NetworkConnection::nickChanged(const QString &newNick, const QString &oldNick) {
+ emit nickChanged(networkId(), newNick, oldNick);
+}
+