Handle unknown CTCP stuff a little bit nicer
authorSebastian Goth <seezer@roath.org>
Wed, 27 Jan 2010 10:06:48 +0000 (11:06 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Fri, 29 Jan 2010 23:47:18 +0000 (00:47 +0100)
- unknown replies are now shown with its arguments
  Fixes #889
- arguments to unknown CTCP queries are actually transmitted
  Fixes #795
- show target's nick for queries

src/core/coreuserinputhandler.cpp
src/core/ctcphandler.cpp

index a5a3d87..b7f1cc0 100644 (file)
@@ -128,8 +128,8 @@ void CoreUserInputHandler::handleCtcp(const BufferInfo &bufferInfo, const QStrin
   if(ctcpTag.isEmpty())
     return;
 
-  QString message = "";
-  QString verboseMessage = tr("sending CTCP-%1 request").arg(ctcpTag);
+  QString message = msg.section(' ', 2);
+  QString verboseMessage = tr("sending CTCP-%1 request to %2").arg(ctcpTag).arg(nick);
 
   if(ctcpTag == "PING") {
     uint now = QDateTime::currentDateTime().toTime_t();
index 2b606f6..8b17de1 100644 (file)
@@ -218,9 +218,11 @@ void CtcpHandler::handleVersion(CtcpType ctcptype, const QString &prefix, const
 void CtcpHandler::defaultHandler(const QString &cmd, CtcpType ctcptype, const QString &prefix, const QString &target, const QString &param) {
   Q_UNUSED(ctcptype);
   Q_UNUSED(target);
-  Q_UNUSED(param);
   if(!_ignoreListManager->ctcpMatch(prefix, network()->networkName())) {
-    emit displayMsg(Message::Error, BufferInfo::StatusBuffer, "", tr("Received unknown CTCP %1 by %2").arg(cmd).arg(prefix));
+    QString str = tr("Received unknown CTCP %1 by %2").arg(cmd).arg(prefix);
+    if(!param.isEmpty())
+      str.append(tr(" with arguments: %1").arg(param));
+    emit displayMsg(Message::Error, BufferInfo::StatusBuffer, "", str);
   }
 }