/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
void UserInputHandler::handleUserInput(const BufferInfo &bufferInfo, const QString &msg_) {
if(msg_.isEmpty())
return;
+
+ // FIXME: With protocol >= v10, this is all done in the client -> remove
QString cmd;
QString msg = msg_;
// leading slashes indicate there's a command to call unless there is another one in the first section (like a path /proc/cpuinfo)
// if there is no message supplied we have to check if we are already away or not
if(msg.isEmpty()) {
- if(me && !me->isAway())
+ if(me && !me->isAway()) {
awayMsg = network()->identityPtr()->awayReason();
+ if(awayMsg.isEmpty()) {
+ awayMsg = tr("away");
+ }
+ }
}
if(me)
me->setAwayMessage(awayMsg);
return;
}
- if(generalizedHost.lastIndexOf(".") != -1 && generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1) != -1) {
+ static QRegExp ipAddress("\\d+\\.\\d+\\.\\d+\\.\\d+");
+ if(ipAddress.exactMatch(generalizedHost)) {
+ int lastDotPos = generalizedHost.lastIndexOf('.') + 1;
+ generalizedHost.replace(lastDotPos, generalizedHost.length() - lastDotPos, '*');
+ } else if(generalizedHost.lastIndexOf(".") != -1 && generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1) != -1) {
int secondLastPeriodPosition = generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1);
generalizedHost.replace(0, secondLastPeriodPosition, "*");
}
}
void UserInputHandler::issueQuit(const QString &reason) {
- QString quitReason;
- if(reason.isEmpty())
- quitReason = network()->identityPtr()->quitReason();
- else
- quitReason = reason;
- emit putCmd("QUIT", serverEncode(quitReason));
+ emit putCmd("QUIT", serverEncode(reason));
}
void UserInputHandler::handleQuote(const BufferInfo &bufferInfo, const QString &msg) {
emit putCmd("WHOWAS", serverEncode(msg.split(' ')));
}
+// FIXME: Remove alias handling as soon as core protocol >= v10
void UserInputHandler::defaultHandler(QString cmd, const BufferInfo &bufferInfo, const QString &msg) {
for(int i = 0; i < coreSession()->aliasManager().count(); i++) {
if(coreSession()->aliasManager()[i].name.toLower() == cmd.toLower()) {