}
void BasicHandler::displayMsg(Message::Type msgType, QString target, QString text, QString sender, Message::Flags flags) {
+ if(!target.isEmpty() && network()->prefixes().contains(target[0]))
+ target = target.mid(1);
+
IrcChannel *channel = network()->ircChannel(target);
if(!channel && (target.startsWith('$') || target.startsWith('#')))
target = nickFromMask(sender);
return;
QString target = serverDecode(params[0]);
- if(prefix.isEmpty() || target == "AUTH")
+ if(prefix.isEmpty() || target == "AUTH") {
target = "";
- else if(!network()->isChannelName(target))
- target = nickFromMask(prefix);
+ } else {
+ if(!target.isEmpty() && network()->prefixes().contains(target[0]))
+ target = target.mid(1);
+ if(!network()->isChannelName(target))
+ target = nickFromMask(prefix);
+ }
networkConnection()->ctcpHandler()->parse(Message::Notice, prefix, target, params[1]);
}
? QByteArray("")
: params[1];
- // are we the target?
- if(network()->isMyNick(target))
- target = nickFromMask(ircuser->nick());
+ if(!network()->isChannelName(target))
+ target = nickFromMask(prefix);
// it's possible to pack multiple privmsgs into one param using ctcp
// - > we let the ctcpHandler do the work
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';
void handleMode(const BufferInfo &bufferInfo, const QString &text);
void handleMsg(const BufferInfo &bufferInfo, const QString &text);
void handleNick(const BufferInfo &bufferInfo, const QString &text);
+ void handleNotice(const BufferInfo &bufferInfo, const QString &text);
void handleOper(const BufferInfo &bufferInfo, const QString &text);
void handleOp(const BufferInfo &bufferInfo, const QString &text);
void handlePart(const BufferInfo &bufferInfo, const QString &text);
parser->addSwitch("debugbufferswitches",0,"Enables debugging for bufferswitches");
parser->addSwitch("debugmodel",0,"Enables debugging for models");
- qInstallMsgHandler(Client::logMessage);
+ // qInstallMsgHandler(Client::logMessage);
}
bool QtUiApplication::init() {