Add command queue prepend, prioritize PING/PONG
[quassel.git] / src / core / corebasichandler.cpp
index c08b1c7..073e7a7 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2013 by the Quassel Project                        *
+ *   Copyright (C) 2005-2016 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -30,11 +30,14 @@ CoreBasicHandler::CoreBasicHandler(CoreNetwork *parent)
     connect(this, SIGNAL(displayMsg(Message::Type, BufferInfo::Type, const QString &, const QString &, const QString &, Message::Flags)),
         network(), SLOT(displayMsg(Message::Type, BufferInfo::Type, const QString &, const QString &, const QString &, Message::Flags)));
 
-    connect(this, SIGNAL(putCmd(QString, const QList<QByteArray> &, const QByteArray &)),
-        network(), SLOT(putCmd(QString, const QList<QByteArray> &, const QByteArray &)));
+    connect(this, SIGNAL(putCmd(QString, const QList<QByteArray> &, const QByteArray &, const bool)),
+        network(), SLOT(putCmd(QString, const QList<QByteArray> &, const QByteArray &, const bool)));
 
-    connect(this, SIGNAL(putRawLine(const QByteArray &)),
-        network(), SLOT(putRawLine(const QByteArray &)));
+    connect(this, SIGNAL(putCmd(QString, const QList<QList<QByteArray>> &, const QByteArray &, const bool)),
+        network(), SLOT(putCmd(QString, const QList<QList<QByteArray>> &, const QByteArray &, const bool)));
+
+    connect(this, SIGNAL(putRawLine(const QByteArray &, const bool)),
+        network(), SLOT(putRawLine(const QByteArray &, const bool)));
 }
 
 
@@ -139,24 +142,9 @@ BufferInfo::Type CoreBasicHandler::typeByTarget(const QString &target) const
 }
 
 
-void CoreBasicHandler::putCmd(const QString &cmd, const QByteArray &param, const QByteArray &prefix)
+void CoreBasicHandler::putCmd(const QString &cmd, const QByteArray &param, const QByteArray &prefix, const bool prepend)
 {
     QList<QByteArray> list;
     list << param;
-    emit putCmd(cmd, list, prefix);
-}
-
-
-void CoreBasicHandler::displayMsg(Message::Type msgType, QString target, const QString &text, const QString &sender, Message::Flags flags)
-{
-    IrcChannel *channel = network()->ircChannel(target);
-    if (!channel) {
-        if (!target.isEmpty() && network()->prefixes().contains(target[0]))
-            target = target.mid(1);
-
-        if (target.startsWith('$') || target.startsWith('#'))
-            target = nickFromMask(sender);
-    }
-
-    emit displayMsg(msgType, typeByTarget(target), target, text, sender, flags);
+    emit putCmd(cmd, list, prefix, prepend);
 }