X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoreuserinputhandler.cpp;h=b64eb73cb194e3827e87aa780849d371420325eb;hb=0674fae039bbc79bfe3f7e42b12ec9015b9b879b;hp=0b6e5b73995b48e45e6ccf09f26143f5da240f02;hpb=a95ad2de573027f9bee36db972bcae4195168d0c;p=quassel.git diff --git a/src/core/coreuserinputhandler.cpp b/src/core/coreuserinputhandler.cpp index 0b6e5b73..b64eb73c 100644 --- a/src/core/coreuserinputhandler.cpp +++ b/src/core/coreuserinputhandler.cpp @@ -183,14 +183,16 @@ void CoreUserInputHandler::handleCtcp(const BufferInfo& bufferInfo, const QStrin // FIXME make this a proper event coreNetwork()->coreSession()->ctcpParser()->query(coreNetwork(), nick, ctcpTag, message); - emit displayMsg(NetworkInternalMessage( - Message::Action, - BufferInfo::StatusBuffer, - "", - verboseMessage, - network()->myNick(), - Message::Flag::Self - )); + if (!network()->capEnabled(IrcCap::ECHO_MESSAGE)) { + emit displayMsg(NetworkInternalMessage( + Message::Action, + BufferInfo::StatusBuffer, + "", + verboseMessage, + network()->myNick(), + Message::Flag::Self + )); + } } void CoreUserInputHandler::handleDelkey(const BufferInfo& bufferInfo, const QString& msg) @@ -510,14 +512,16 @@ void CoreUserInputHandler::handleMe(const BufferInfo& bufferInfo, const QString& for (const auto& message : messages) { // Handle each separated message independently coreNetwork()->coreSession()->ctcpParser()->query(coreNetwork(), bufferInfo.bufferName(), "ACTION", message); - emit displayMsg(NetworkInternalMessage( - Message::Action, - bufferInfo.type(), - bufferInfo.bufferName(), - message, - network()->myNick(), - Message::Self - )); + if (!network()->capEnabled(IrcCap::ECHO_MESSAGE)) { + emit displayMsg(NetworkInternalMessage( + Message::Action, + bufferInfo.type(), + bufferInfo.bufferName(), + message, + network()->myNick(), + Message::Self + )); + } } } @@ -590,14 +594,16 @@ void CoreUserInputHandler::handleNotice(const BufferInfo& bufferInfo, const QStr params.clear(); params << serverEncode(bufferName) << channelEncode(bufferInfo.bufferName(), message); emit putCmd("NOTICE", params); - emit displayMsg(NetworkInternalMessage( - Message::Notice, - typeByTarget(bufferName), - bufferName, - message, - network()->myNick(), - Message::Self - )); + if (!network()->capEnabled(IrcCap::ECHO_MESSAGE)) { + emit displayMsg(NetworkInternalMessage( + Message::Notice, + typeByTarget(bufferName), + bufferName, + message, + network()->myNick(), + Message::Self + )); + } } } @@ -680,14 +686,16 @@ void CoreUserInputHandler::handleQuery(const BufferInfo& bufferInfo, const QStri // handleMsg is a no-op if message is empty } else { - emit displayMsg(NetworkInternalMessage( - Message::Plain, - BufferInfo::QueryBuffer, - target, - message, - network()->myNick(), - Message::Self - )); + if (!network()->capEnabled(IrcCap::ECHO_MESSAGE)) { + emit displayMsg(NetworkInternalMessage( + Message::Plain, + BufferInfo::QueryBuffer, + target, + message, + network()->myNick(), + Message::Self + )); + } // handleMsg needs the target specified at the beginning of the message handleMsg(bufferInfo, target + " " + message); } @@ -731,14 +739,16 @@ void CoreUserInputHandler::handleSay(const BufferInfo& bufferInfo, const QString #else putPrivmsg(bufferInfo.bufferName(), message, encodeFunc); #endif - emit displayMsg(NetworkInternalMessage( - Message::Plain, - bufferInfo.type(), - bufferInfo.bufferName(), - message, - network()->myNick(), - Message::Self - )); + if (!network()->capEnabled(IrcCap::ECHO_MESSAGE)) { + emit displayMsg(NetworkInternalMessage( + Message::Plain, + bufferInfo.type(), + bufferInfo.bufferName(), + message, + network()->myNick(), + Message::Self + )); + } } } @@ -769,7 +779,8 @@ void CoreUserInputHandler::handleSetkey(const BufferInfo& bufferInfo, const QStr typeByTarget(bufname), bufname, tr("[usage] /setkey sets the encryption key for nick or channel. " - "/setkey when in a channel or query buffer sets the key for it.") + "/setkey when in a channel or query buffer sets the key for it. " + "Prefix by cbc: or ebc: to explicitly set the encryption mode respectively. Default is CBC.") )); return; } @@ -798,6 +809,12 @@ void CoreUserInputHandler::handleSetkey(const BufferInfo& bufferInfo, const QStr #endif } +void CoreUserInputHandler::handleSetname(const BufferInfo& bufferInfo, const QString& msg) +{ + Q_UNUSED(bufferInfo) + emit putCmd("SETNAME", serverEncode(msg)); +} + void CoreUserInputHandler::handleShowkey(const BufferInfo& bufferInfo, const QString& msg) { QString bufname = bufferInfo.bufferName().isNull() ? "" : bufferInfo.bufferName();