X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoreuserinputhandler.cpp;h=5c6f388f401e8629b91c636b6cf6acd744ecafe7;hb=24c7de34254b5de4cf28045a6923a527e06f7290;hp=82c2b90e66bc8a15393444597c06a2cbe27ff751;hpb=1868486419b5354a7a2e45b263a0b698ab51e83c;p=quassel.git diff --git a/src/core/coreuserinputhandler.cpp b/src/core/coreuserinputhandler.cpp index 82c2b90e..5c6f388f 100644 --- a/src/core/coreuserinputhandler.cpp +++ b/src/core/coreuserinputhandler.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2020 by the Quassel Project * + * Copyright (C) 2005-2022 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -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 + )); + } } } @@ -799,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();