diff -r a6f3452f5f94 -r 03684c667664 QTfrontend/hwform.cpp --- a/QTfrontend/hwform.cpp Tue Dec 25 01:13:07 2012 +0100 +++ b/QTfrontend/hwform.cpp Tue Dec 25 02:30:00 2012 +0100 @@ -39,6 +39,8 @@ #include #include #include +#include +#include #include #include #include @@ -97,6 +99,18 @@ #include "DataManager.h" #include "AutoUpdater.h" +#ifdef Q_WS_WIN +#define WINVER 0x0500 +#include +#else +#include +#include +#endif + +#ifdef Q_WS_MAC +#include +#endif + #ifdef __APPLE__ #include "M3Panel.h" #ifdef SPARKLE_ENABLED @@ -1974,28 +1988,41 @@ void HWForm::SendFeedback() { - //Create Xml representation of google code issue first - if (!CreateIssueXml()) + // Get form data + + QString summary = ui.pageFeedback->summary->text(); + QString description = ui.pageFeedback->description->toPlainText(); + QString email = ui.pageFeedback->email->text(); + QString captchaCode = ui.pageFeedback->captcha_code->text(); + QString captchaID = QString::number(ui.pageFeedback->captchaID); + QString version = "HedgewarsFoundation-Hedgewars-" + (cVersionString?(*cVersionString):QString("")); + + if (summary.isEmpty() || description.isEmpty()) { - ShowErrorMessage(QMessageBox::tr("Please fill out all fields")); + ShowErrorMessage(QMessageBox::tr("Please fill out all fields. Email is optional.")); return; } - //Submit issue to PHP script - QString source = "HedgewarsFoundation-Hedgewars-"; - source += (cVersionString?(*cVersionString):QString("")); - QString captchaCode = ui.pageFeedback->captcha_code->text(); - QString captchaID = QString::number(ui.pageFeedback->captchaID); + // Submit issue to PHP script QByteArray body; body.append("captcha="); body.append(captchaID); body.append("&code="); body.append(captchaCode); - body.append("&source="); - body.append(source); - body.append("&issue="); - body.append(QUrl::toPercentEncoding(issueXml)); + body.append("&version="); + body.append(QUrl::toPercentEncoding(version)); + body.append("&title="); + body.append(QUrl::toPercentEncoding(summary)); + body.append("&body="); + body.append(QUrl::toPercentEncoding(description)); + body.append("&email="); + body.append(QUrl::toPercentEncoding(email)); + if (ui.pageFeedback->CheckSendSpecs->isChecked()) + { + body.append("&specs="); + body.append(QUrl::toPercentEncoding(ui.pageFeedback->specs)); + } nam = new QNetworkAccessManager(this); connect(nam, SIGNAL(finished(QNetworkReply*)), @@ -2007,40 +2034,6 @@ nam->post(header, body); } -bool HWForm::CreateIssueXml() -{ - QString summary = ui.pageFeedback->summary->text(); - QString description = ui.pageFeedback->description->toPlainText(); - QString email = ui.pageFeedback->email->text(); - - //Check if all necessary information is entered - if (summary.isEmpty() || description.isEmpty()) - return false; - - issueXml = - "" - "" - ""; - issueXml.append(summary); - issueXml.append(""); - issueXml.append(description); - issueXml.append("feedback.hedgewars"); - - if (!email.isEmpty()) - { - issueXml.append(""); - issueXml.append(email); - issueXml.append(""); - issueXml.append(""); - issueXml.append(email); - issueXml.append(""); - } - - issueXml.append(""); - - return true; -} - void HWForm::finishedSlot(QNetworkReply* reply) { if (reply && reply->error() == QNetworkReply::NoError) @@ -2048,13 +2041,13 @@ QMessageBox infoMsg(this); infoMsg.setIcon(QMessageBox::Information); infoMsg.setWindowTitle(QMessageBox::tr("Hedgewars - Success")); - infoMsg.setText(QMessageBox::tr("Successfully posted the issue on hedgewars.googlecode.com")); + infoMsg.setText(reply->readAll()); infoMsg.setWindowModality(Qt::WindowModal); infoMsg.exec(); ui.pageFeedback->summary->clear(); + ui.pageFeedback->email->clear(); ui.pageFeedback->description->clear(); - ui.pageFeedback->EmbedSystemInfo(); ui.pageFeedback->LoadCaptchaImage(); return;