added isConnected() call to irc
authorKevron Rees <tripzero.kev@gmail.com>
Sun, 18 Aug 2013 04:21:09 +0000 (21:21 -0700)
committerKevron Rees <tripzero.kev@gmail.com>
Sun, 18 Aug 2013 04:21:09 +0000 (21:21 -0700)
plugins/bluemonkey/irccoms.cpp
plugins/bluemonkey/irccoms.h

index 4a98403..53c91c6 100644 (file)
@@ -17,9 +17,17 @@ IrcCommunication::IrcCommunication(std::map<std::string, std::string> config, QO
        session = new IrcSession(this);
        mSsl=false;
 
-       QObject::connect(session,SIGNAL(connected()),this,SIGNAL(connected()));
-       QObject::connect(session,SIGNAL(disconnected()),this,SIGNAL(disconnected()));
-       QObject::connect(session,SIGNAL(disconnected()),this,SLOT(reconnect()));
+       QObject::connect(session, &IrcSession::connected, [this](){
+               connectedChanged();
+               connected();
+       });
+
+       QObject::connect(session, &IrcSession::disconnected, [this](){
+               connectedChanged();
+               disconnected();
+               reconnect();
+       });
+
        QObject::connect(session,SIGNAL(socketError(QAbstractSocket::SocketError)),this,SLOT(socketError(QAbstractSocket::SocketError)));
        QObject::connect(session,SIGNAL(connecting()),this,SIGNAL(connecting()));
        QObject::connect(session,SIGNAL(messageReceived(IrcMessage*)),this,SLOT(messageReceived(IrcMessage*)));
@@ -46,6 +54,11 @@ IrcCommunication::IrcCommunication(std::map<std::string, std::string> config, QO
 
 }
 
+bool IrcCommunication::isConnected()
+{
+       return session->isConnected();
+}
+
 void IrcCommunication::announce(QString s)
 {
        qDebug()<<"channels: "<<mChannels;
index 6033362..26f2a7f 100644 (file)
@@ -13,11 +13,14 @@ class IrcCommunication: public QObject
        Q_OBJECT
        Q_PROPERTY(QStringList channels READ channels WRITE setChannels)
        Q_PROPERTY(bool ssl WRITE setSsl)
+       Q_PROPERTY(bool isConnected READ isConnected NOTIFY connectedChanged)
 public:
        IrcCommunication(std::map<std::string, std::string> config, QObject* parent=0);
        QStringList channels() { return mChannels; }
        void setChannels(QStringList c) { mChannels = c; }
 
+       bool isConnected();
+
 public Q_SLOTS:
        void respond(QString target, QString msg);
        void announce(QString);
@@ -38,6 +41,7 @@ Q_SIGNALS:
        void connecting();
        void connected();
        void disconnected();
+       void connectedChanged();
 
 private:
        bool mSsl;