// 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)
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
+ ));
+ }
}
}
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
+ ));
+ }
}
}
// 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);
}
#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
+ ));
+ }
}
}
typeByTarget(bufname),
bufname,
tr("[usage] /setkey <nick|channel> <key> sets the encryption key for nick or channel. "
- "/setkey <key> when in a channel or query buffer sets the key for it.")
+ "/setkey <key> when in a channel or query buffer sets the key for it. "
+ "Prefix <key> by cbc: or ebc: to explicitly set the encryption mode respectively. Default is CBC.")
));
return;
}
#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();