}
void UserInputHandler::handleBan(const BufferInfo &bufferInfo, const QString &msg) {
+ banOrUnban(bufferInfo, msg, true);
+}
+
+void UserInputHandler::handleUnban(const BufferInfo &bufferInfo, const QString &msg) {
+ banOrUnban(bufferInfo, msg, false);
+}
+
+void UserInputHandler::banOrUnban(const BufferInfo &bufferInfo, const QString &msg, bool ban) {
QString banChannel;
QString banUser;
banUser = params.join(" ");
}
- QString banMsg = QString("MODE %1 +b %2").arg(banChannel, banUser);
+ QString banMode = ban ? "+b" : "-b";
+ QString banMsg = QString("MODE %1 %2 %3").arg(banChannel, banMode, banUser);
emit putRawLine(serverEncode(banMsg));
}
emit putCmd("NICK", serverEncode(nick));
}
+void UserInputHandler::handleNotice(const BufferInfo &bufferInfo, const QString &msg) {
+ QString bufferName = msg.section(' ', 0, 0);
+ QString payload = msg.section(' ', 1);
+ QList<QByteArray> params;
+ params << serverEncode(bufferName) << channelEncode(bufferInfo.bufferName(), payload);
+ emit putCmd("NOTICE", params);
+ emit displayMsg(Message::Notice, bufferName, payload, network()->myNick(), Message::Self);
+}
+
void UserInputHandler::handleOp(const BufferInfo &bufferInfo, const QString &msg) {
QStringList nicks = msg.split(' ', QString::SkipEmptyParts);
QString m = "+"; for(int i = 0; i < nicks.count(); i++) m += 'o';