From: genius3000 Date: Thu, 11 Jan 2018 04:54:41 +0000 (-0700) Subject: core: handleMode: Fix persistent modes reset X-Git-Tag: travis-deploy-test~129 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=6e7b4039cde65c37f711c8c4c0b0b405aa9054e1 core: handleMode: Fix persistent modes reset The check for '-reset' currently comes after a bufferName is prepended to params, therefore never being true. Move this check to be first and add a reply to the client. Closes GH-322. --- diff --git a/src/core/coreuserinputhandler.cpp b/src/core/coreuserinputhandler.cpp index c30a2fa8..88783408 100644 --- a/src/core/coreuserinputhandler.cpp +++ b/src/core/coreuserinputhandler.cpp @@ -476,15 +476,16 @@ void CoreUserInputHandler::handleMode(const BufferInfo &bufferInfo, const QStrin QStringList params = msg.split(' ', QString::SkipEmptyParts); // if the first argument is neither a channel nor us (user modes are only to oneself) the current buffer is assumed to be the target if (!params.isEmpty()) { - if (!network()->isChannelName(params[0]) && !network()->isMyNick(params[0])) - params.prepend(bufferInfo.bufferName()); - if (network()->isMyNick(params[0]) && params.count() == 2) - network()->updateIssuedModes(params[1]); if (params[0] == "-reset" && params.count() == 1) { - // FIXME: give feedback to the user (I don't want to add new strings right now) network()->resetPersistentModes(); + emit displayMsg(Message::Info, BufferInfo::StatusBuffer, "", + tr("Your persistent modes have been reset.")); return; } + if (!network()->isChannelName(params[0]) && !network()->isMyNick(params[0])) + params.prepend(bufferInfo.bufferName()); + if (network()->isMyNick(params[0]) && params.count() == 2) + network()->updateIssuedModes(params[1]); } // TODO handle correct encoding for buffer modes (channelEncode())