bool QXmppVersionManager::handleStanza(const QDomElement &element)
{
    if (element.tagName() == "iq" && QXmppVersionIq::isVersionIq(element))
    {
        QXmppVersionIq versionIq;
        versionIq.parse(element);

        if(versionIq.type() == QXmppIq::Get)
        {
            // respond to query
            QXmppVersionIq responseIq;
            responseIq.setType(QXmppIq::Result);
            responseIq.setId(versionIq.id());
            responseIq.setTo(versionIq.from());

            responseIq.setName(clientName());
            responseIq.setVersion(clientVersion());
            responseIq.setOs(clientOs());

            client()->sendPacket(responseIq);
        }

        emit versionReceived(versionIq);
        return true;
    }

    return false;
}
Example #2
0
IdealIRC::IdealIRC(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::IdealIRC),
    firstShow(true),
    windowIsActive(true),
    confDlg(NULL),
    favourites(NULL),
    chanlist(NULL),
    scriptManager(NULL),
    connectionsRemaining(-1),
    preventSocketAction(false),
    reconnect(NULL),
    scriptParent(this, this, &conf, &conlist, &winlist, &activeWid, &activeConn)
{
    ui->setupUi(this);

    connect(qApp, SIGNAL(focusChanged(QWidget*,QWidget*)),
            this, SLOT(applicationFocusChanged(QWidget*,QWidget*)));

    ui->menuIIRC->addAction(ui->actionConnect);
    ui->menuIIRC->addAction(ui->actionOptions);
    ui->menuTools->addAction(ui->actionChannel_favourites);
    ui->menuTools->addAction(ui->actionChannels_list);
    ui->menuTools->addAction(ui->actionScript_Manager);

    QString version = QString("IdealIRC %1").arg(VERSION_STRING);
    setWindowTitle(version);
    trayicon.setToolTip(version);
    trayicon.setIcon( QIcon(":/gfx/icon16x16.png") );
    trayicon.setVisible(true);

    conf.rehash();

    setGeometry(conf.mainWinGeo);
    if (conf.maximized)
      setWindowState(Qt::WindowMaximized);

    ui->toolBar->setVisible(conf.showToolBar);

    connect(&vc, SIGNAL(gotVersion()),
            this, SLOT(versionReceived()));

    if (conf.checkVersion)
        vc.runChecker();

    QFont f(conf.fontName);
    f.setPixelSize(conf.fontSize);
    ui->treeWidget->setFont(f);

    updateTreeViewColor();

    connect(&scriptParent, SIGNAL(RequestWindow(QString,int,int,bool)),
            this, SLOT(CreateSubWindow(QString,int,int,bool)));

    connect(&trayicon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
            this, SLOT(onTrayActivated(QSystemTrayIcon::ActivationReason)));

}