}
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));
}
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#ifndef _USERINPUTHANDLER_H_
-#define _USERINPUTHANDLER_H_
+#ifndef USERINPUTHANDLER_H
+#define USERINPUTHANDLER_H
#include "basichandler.h"
public slots:
void handleAway(const BufferInfo &bufferInfo, const QString &text);
void handleBan(const BufferInfo &bufferInfo, const QString &text);
+ void handleUnban(const BufferInfo &bufferInfo, const QString &text);
void handleCtcp(const BufferInfo &bufferInfo, const QString &text);
void handleDeop(const BufferInfo &bufferInfo, const QString &text);
void handleDevoice(const BufferInfo &bufferInfo, const QString &text);
private:
void expand(const QString &alias, const BufferInfo &bufferInfo, const QString &msg);
+ void banOrUnban(const BufferInfo &bufferInfo, const QString &text, bool ban);
};