void GTrans::doTrans() {
    nam = new QNetworkAccessManager(this);

    // Figure out the URL for translate.google.com
    QStringList words = inputTxt->toPlainText().split(QRegExp("\\s+"));
    QString gtUrl = tr("http://translate.google.com/translate_t?langpair=%1|%2&text=").arg(languages[fromLang->currentText()]).arg(languages[toLang->currentText()]) + words.join("+");

    QUrl url(gtUrl);

    QNetworkRequest qnr(url);

    // Google checks for certain user agents, so spoof one
    qnr.setRawHeader("User-Agent", "");

    // Make the request.
    nam->get(qnr);

    // Tell it to get back to us...
    connect(nam, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(finishedSlot(QNetworkReply*)));

    // Go back to the text input
    inputTxt->selectAll();
    inputTxt->setFocus();
}
Exemple #2
0
void GTrans::doTrans() {
    nam = new QNetworkAccessManager(this);

    // Figure out the URL for translate.google.com
//  QStringList words = inputTxt->toPlainText().split(QRegExp("\\s+"));

//lzt clipboard
    QClipboard *clipboard = QApplication::clipboard();
    QStringList words = clipboard->text(QClipboard::Selection).split(QRegExp("\\s+"));
    outputTxt->setPlainText(words.join(" "));
//

    //QString gtUrl = tr("https://translate.google.com/translate_t?langpair=%1|%2&text=").arg(languages[fromLang->currentText()]).arg(languages[toLang->currentText()]) + words.join("+");
    QString gtUrl = tr("http://dict.youdao.com/search?q=") + words.join(" ");
//   outputTxt->setPlainText(gtUrl);
//lzt1
    QUrl url(gtUrl);

    QNetworkRequest qnr(url);

    // Google checks for certain user agents, so spoof one
    qnr.setRawHeader("User-Agent", "");

    // Make the request.
    nam->get(qnr);

    // Tell it to get back to us...
    connect(nam, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(finishedSlot(QNetworkReply*)));

    // Go back to the text input
//    inputTxt->selectAll();
//    inputTxt->setFocus();
    usleep(500000);
//    outputTxt->selectAll();
    outputTxt->setFocus();

}
Exemple #3
0
void Server::update() {
	if (!((! qsRegName.isEmpty()) && (! qsRegName.isEmpty()) && (! qsRegPassword.isEmpty()) && qurlRegWeb.isValid() && qsPassword.isEmpty() && bAllowPing))
		return;

	// When QNAM distinguishes connections by client cert, move this to Meta
	if (! qnamNetwork)
		qnamNetwork = new QNetworkAccessManager(this);

	qtTick.start(1000 * (60 * 60 + (qrand() % 300)));

	QDomDocument doc;
	QDomElement root=doc.createElement(QLatin1String("server"));
	doc.appendChild(root);

	OSInfo::fillXml(doc, root, meta->qsOS, meta->qsOSVersion, qlBind);

	QDomElement tag;
	QDomText t;

	tag=doc.createElement(QLatin1String("name"));
	root.appendChild(tag);
	t=doc.createTextNode(qsRegName);
	tag.appendChild(t);

	tag=doc.createElement(QLatin1String("host"));
	root.appendChild(tag);
	t=doc.createTextNode(qsRegHost);
	tag.appendChild(t);

	tag=doc.createElement(QLatin1String("password"));
	root.appendChild(tag);
	t=doc.createTextNode(qsRegPassword);
	tag.appendChild(t);

	tag=doc.createElement(QLatin1String("port"));
	root.appendChild(tag);
	t=doc.createTextNode(QString::number(usPort));
	tag.appendChild(t);

	tag=doc.createElement(QLatin1String("url"));
	root.appendChild(tag);
	t=doc.createTextNode(qurlRegWeb.toString());
	tag.appendChild(t);

	tag=doc.createElement(QLatin1String("digest"));
	root.appendChild(tag);
	t=doc.createTextNode(getDigest());
	tag.appendChild(t);

	tag=doc.createElement(QLatin1String("users"));
	root.appendChild(tag);
	t=doc.createTextNode(QString::number(qhUsers.count()));
	tag.appendChild(t);

	tag=doc.createElement(QLatin1String("channels"));
	root.appendChild(tag);
	t=doc.createTextNode(QString::number(qhChannels.count()));
	tag.appendChild(t);

	QNetworkRequest qnr(QUrl(QLatin1String("https://mumble.hive.no/register.cgi")));
	qnr.setHeader(QNetworkRequest::ContentTypeHeader, QLatin1String("text/xml"));

	QSslConfiguration ssl = qnr.sslConfiguration();
	ssl.setLocalCertificate(qscCert);
	ssl.setPrivateKey(qskKey);

	/* Work around bug in QSslConfiguration */
	QList<QSslCertificate> calist = ssl.caCertificates();
	calist << QSslSocket::defaultCaCertificates();
	calist << qscCert;
	ssl.setCaCertificates(calist);

	qnr.setSslConfiguration(ssl);

	QNetworkReply *rep = qnamNetwork->post(qnr, doc.toString().toUtf8());
	connect(rep, SIGNAL(finished()), this, SLOT(finished()));
	connect(rep, SIGNAL(sslErrors(const QList<QSslError> &)), this, SLOT(regSslError(const QList<QSslError> &)));
}