void UserInputHandler::handleMe(const BufferInfo &bufferInfo, const QString &msg) {
if(bufferInfo.bufferName().isEmpty()) return; // server buffer
- networkConnection()->ctcpHandler()->query(bufferInfo.bufferName(), "ACTION", channelEncode(bufferInfo.bufferName(), msg));
+ networkConnection()->ctcpHandler()->query(bufferInfo.bufferName(), "ACTION", msg);
emit displayMsg(Message::Action, bufferInfo.type(), bufferInfo.bufferName(), msg, network()->myNick());
}
void UserInputHandler::handleTopic(const BufferInfo &bufferInfo, const QString &msg) {
if(bufferInfo.bufferName().isEmpty()) return;
- QList<QByteArray> params;
- params << serverEncode(bufferInfo.bufferName()) << channelEncode(bufferInfo.bufferName(), msg);
- emit putCmd("TOPIC", params);
+ if(!msg.isEmpty()) {
+ QList<QByteArray> params;
+ params << serverEncode(bufferInfo.bufferName()) << channelEncode(bufferInfo.bufferName(), msg);
+ emit putCmd("TOPIC", params);
+ } else {
+ emit networkConnection()->putRawLine("TOPIC " + serverEncode(bufferInfo.bufferName()) + " :");
+ }
}
void UserInputHandler::handleVoice(const BufferInfo &bufferInfo, const QString &msg) {