#ifndef QT_NO_OPENSSL
void NetworkConnection::sslErrors(const QList<QSslError> &sslErrors) {
+ Q_UNUSED(sslErrors)
socket.ignoreSslErrors();
/* TODO errorhandling
QVariantMap errmsg;
IrcChannel *ircchan = network()->ircChannel(chan);
if(!ircchan) continue;
if(_autoWhoNickLimit > 0 && ircchan->ircUsers().count() > _autoWhoNickLimit) continue;
- _autoWhoInProgress.insert(chan);
+ _autoWhoInProgress[chan]++;
putRawLine("WHO " + serverEncode(chan));
if(_autoWhoQueue.isEmpty() && _autoWhoEnabled && !_autoWhoCycleTimer.isActive()) {
// Timer was stopped, means a new cycle is due immediately
}
bool NetworkConnection::setAutoWhoDone(const QString &channel) {
- return _autoWhoInProgress.remove(channel);
+ if(_autoWhoInProgress.value(channel.toLower(), 0) <= 0) return false;
+ _autoWhoInProgress[channel.toLower()]--;
+ return true;
}
void NetworkConnection::setChannelJoined(const QString &channel) {
emit channelJoined(networkId(), channel, _channelKeys[channel.toLower()]);
- _autoWhoQueue.prepend(channel); // prepend so this new chan is the first to be checked
+ _autoWhoQueue.prepend(channel.toLower()); // prepend so this new chan is the first to be checked
}
void NetworkConnection::setChannelParted(const QString &channel) {
removeChannelKey(channel);
- _autoWhoQueue.removeAll(channel);
- _autoWhoInProgress.remove(channel);
+ _autoWhoQueue.removeAll(channel.toLower());
+ _autoWhoInProgress.remove(channel.toLower());
emit channelParted(networkId(), channel);
}
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.contains(channel); }
+ inline bool isAutoWhoInProgress(const QString &channel) const { return _autoWhoInProgress.value(channel.toLower(), 0); }
public slots:
// void setServerOptions();
bool _autoWhoEnabled;
QStringList _autoWhoQueue;
- QSet<QString> _autoWhoInProgress;
+ QHash<QString, int> _autoWhoInProgress;
int _autoWhoInterval;
int _autoWhoNickLimit;
int _autoWhoDelay;