Example #1
0
void GoogleChat::initialPage(bool ok) {
    if (ok) {
        QString s1 = evalJS("document.getElementById('Email').name");
        QString s2 = evalJS("document.getElementById('Passwd').name");
        QString s3 = evalJS("document.getElementById('gaia_loginform').id");
        if (s1 == "Email" && s2 == "Passwd" && s3 == "gaia_loginform") {
            form.stackedWidget->setCurrentIndex(1);
            form.webView->disconnect();
            return;
        }
    }

    showError("SERVICE unavailable.");
}
Example #2
0
void GoogleChat::doLogin() {
    userName = form.userNameEdit->text();
    password = form.passwordEdit->text();
    bool ok = !userName.isEmpty() && !password.isEmpty();
    if (!ok)
        return;

    form.progressBar->setValue(0);
    form.progressBar->show();
    connect(form.webView, SIGNAL(loadFinished(bool)), SLOT(loginPage(bool)));
    connect(form.webView, SIGNAL(loadProgress(int)),
            form.progressBar, SLOT(setValue(int)));
    showStatus("Logging in...");

    QString userEmail = userName + "@gmail.com";
    evalJS(QString("document.getElementById('Email').value = \"%1\";").arg(userEmail));
    evalJS(QString("document.getElementById('Passwd').value = \"%1\";").arg(password));
    evalJS("document.getElementById('gaia_loginform').submit();");
}
		TITANIUM_FUNCTION(WebView, evalJS)
		{
			if (arguments.size() < 1) {
				return get_context().CreateUndefined();
			}

			ENSURE_STRING_AT_INDEX(code, 0);
			ENSURE_OPTIONAL_OBJECT_AT_INDEX(callback, 1);

			return get_context().CreateString(evalJS(code, callback));
		}
Example #4
0
void GoogleChat::loginPage(bool ok) {
    QString location = form.webView->url().toString();
    if (!ok) {
        if (location.indexOf("CheckCookie"))
            return;
        showError("Service unavailable");
    } else {
        // check for any error message
        QString c = evalJS("document.getElementsByClassName('errormsg').length");
        if (c == "0") {
            form.stackedWidget->setCurrentIndex(2);
            QTimer::singleShot(500, this, SLOT(hideElements()));
            return;
        }

        QString err = "Unknown login failure.";
        if (c == "1") {
            err = evalJS("document.getElementsByClassName('errormsg')[0].textContent");
            err = err.simplified();
        }
        showError(err);
    }
}
Example #5
0
void GoogleChat::hideElements()
{
    evalJS("var e = document.getElementsByClassName('footer-footer')[0]; e.parentElement.removeChild(e)");
    evalJS("var e = document.getElementsByClassName('title-bar-bg title-bar')[0]; e.parentElement.removeChild(e)");
    QTimer::singleShot(2000, this, SLOT(hideElements()));
}