X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fircuser.cpp;h=ed875e030dcb7aac198fca4787fc7565995c4514;hp=54a576474ea32c83857f95b479c4a5fd9999632e;hb=f66bc9ecb5ebde376da256035db425d7dc0c74d0;hpb=fb6f5bcbdebd8660f355a558dd7cc47f6df45965 diff --git a/src/common/ircuser.cpp b/src/common/ircuser.cpp index 54a57647..ed875e03 100644 --- a/src/common/ircuser.cpp +++ b/src/common/ircuser.cpp @@ -287,16 +287,24 @@ void IrcUser::setUserModes(const QString &modes) { emit userModesSet(modes); } -void IrcUser::addUserMode(const QString &mode) { - if(!_userModes.contains(mode)) { - _userModes += mode; - emit userModeAdded(mode); +void IrcUser::addUserModes(const QString &modes) { + if(modes.isEmpty()) + return; + + for(int i = 0; i < modes.count(); i++) { + if(!_userModes.contains(modes[i])) + _userModes += modes[i]; } + + emit userModesAdded(modes); } -void IrcUser::removeUserMode(const QString &mode) { - if(_userModes.contains(mode)) { - _userModes.remove(mode); - emit userModeRemoved(mode); +void IrcUser::removeUserModes(const QString &modes) { + if(modes.isEmpty()) + return; + + for(int i = 0; i < modes.count(); i++) { + _userModes.remove(modes[i]); } + emit userModesRemoved(modes); }