Ejemplo n.º 1
0
        void ActionProxyWidget::GridInfoRequested()
        {
            // Lets make a request to protocolutilities to fetch grid info
            QLineEdit *line_edit = current_widget_->findChild<QLineEdit*>("loginURLLineEdit");
            if (!line_edit)
                return;

            QString url_string = line_edit->text();
            if (!url_string.startsWith("http://"))
            {
                url_string = "http://" + url_string;
                line_edit->setText(url_string);
            }

            QUrl login_url(url_string);
            if (login_url.isValid())
            {
                QStringList clear_edits;
                clear_edits << "nicknameLineEdit" << "modeLineEdit" << "helpURLLineEdit" << "registerURLLineEdit" << "platformLineEdit" << "welcomeURLLineEdit" << "aboutURLLineEdit" << "passwordURLLineEdit";
                foreach (QString name, clear_edits)
                    if (current_widget_->findChild<QLineEdit*>(name))
                        current_widget_->findChild<QLineEdit*>(name)->setText("");

                SAFE_DELETE(grid_info_helper_);
                grid_info_helper_ = new ProtocolUtilities::GridInfoHelper(0, login_url);
                connect(grid_info_helper_, SIGNAL(GridInfoDataRecieved(QMap<QString, QVariant>)), SLOT(GridInfoRevieced(QMap<QString, QVariant>)));
                
                QLabel *status = current_widget_->findChild<QLabel*>("gridInfoStatusLabel");
                if (status)
                    status->setText("Retrieving grid info from server...");
                grid_info_helper_->GetGridInfo();
            }
Ejemplo n.º 2
0
    void GridInfoHelper::ReplyRecieved(QNetworkReply *reply)
    {
        QMap <QString, QVariant> grid_info_map;
        QXmlStreamReader xml_reader;
        xml_reader.addData(reply->readAll());

        while (!xml_reader.atEnd())
        {
            QXmlStreamReader::TokenType token = xml_reader.readNext();

            if (xml_reader.hasError())
                break;

            if (xml_reader.name() != "gridinfo" && !xml_reader.name().isEmpty())
                grid_info_map[xml_reader.name().toString()] = xml_reader.readElementText();
        }

        if (grid_info_map.contains("login"))
            emit GridInfoDataRecieved(grid_info_map);
        else
            emit GridInfoDataRecieved(QMap <QString, QVariant>());
    }