summaryrefslogtreecommitdiffstats
path: root/qt-ui/usersurvey.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/usersurvey.cpp')
-rw-r--r--qt-ui/usersurvey.cpp133
1 files changed, 0 insertions, 133 deletions
diff --git a/qt-ui/usersurvey.cpp b/qt-ui/usersurvey.cpp
deleted file mode 100644
index 05da582a1..000000000
--- a/qt-ui/usersurvey.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-#include <QShortcut>
-#include <QMessageBox>
-#include <QSettings>
-
-#include "usersurvey.h"
-#include "ui_usersurvey.h"
-#include "version.h"
-#include "subsurfacewebservices.h"
-#include "updatemanager.h"
-
-#include "helpers.h"
-#include "subsurfacesysinfo.h"
-
-UserSurvey::UserSurvey(QWidget *parent) : QDialog(parent),
- ui(new Ui::UserSurvey)
-{
- ui->setupUi(this);
- ui->buttonBox->buttons().first()->setText(tr("Send"));
- this->adjustSize();
- QShortcut *closeKey = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_W), this);
- connect(closeKey, SIGNAL(activated()), this, SLOT(close()));
- QShortcut *quitKey = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this);
- connect(quitKey, SIGNAL(activated()), parent, SLOT(close()));
-
- os = QString("ssrfVers=%1").arg(subsurface_version());
- os.append(QString("&prettyOsName=%1").arg(SubsurfaceSysInfo::prettyOsName()));
- QString arch = SubsurfaceSysInfo::buildCpuArchitecture();
- os.append(QString("&appCpuArch=%1").arg(arch));
- if (arch == "i386") {
- QString osArch = SubsurfaceSysInfo::currentCpuArchitecture();
- os.append(QString("&osCpuArch=%1").arg(osArch));
- }
- os.append(QString("&uiLang=%1").arg(uiLanguage(NULL)));
- os.append(QString("&uuid=%1").arg(UpdateManager::getUUID()));
- ui->system->setPlainText(getVersion());
-}
-
-QString UserSurvey::getVersion()
-{
- QString arch;
- // fill in the system data
- QString sysInfo = QString("Subsurface %1").arg(subsurface_version());
- sysInfo.append(tr("\nOperating system: %1").arg(SubsurfaceSysInfo::prettyOsName()));
- arch = SubsurfaceSysInfo::buildCpuArchitecture();
- sysInfo.append(tr("\nCPU architecture: %1").arg(arch));
- if (arch == "i386")
- sysInfo.append(tr("\nOS CPU architecture: %1").arg(SubsurfaceSysInfo::currentCpuArchitecture()));
- sysInfo.append(tr("\nLanguage: %1").arg(uiLanguage(NULL)));
- return sysInfo;
-}
-
-UserSurvey::~UserSurvey()
-{
- delete ui;
-}
-
-#define ADD_OPTION(_name) values.append(ui->_name->isChecked() ? "&" #_name "=1" : "&" #_name "=0")
-
-void UserSurvey::on_buttonBox_accepted()
-{
- // now we need to collect the data and submit it
- QString values = os;
- ADD_OPTION(recreational);
- ADD_OPTION(tech);
- ADD_OPTION(planning);
- ADD_OPTION(download);
- ADD_OPTION(divecomputer);
- ADD_OPTION(manual);
- ADD_OPTION(companion);
- values.append(QString("&suggestion=%1").arg(ui->suggestions->toPlainText()));
- UserSurveyServices uss(this);
- connect(uss.sendSurvey(values), SIGNAL(finished()), SLOT(requestReceived()));
- hide();
-}
-
-void UserSurvey::on_buttonBox_rejected()
-{
- QMessageBox response(this);
- response.setText(tr("Should we ask you later?"));
- response.addButton(tr("Don't ask me again"), QMessageBox::RejectRole);
- response.addButton(tr("Ask later"), QMessageBox::AcceptRole);
- response.setWindowTitle(tr("Ask again?")); // Not displayed on MacOSX as described in Qt API
- response.setIcon(QMessageBox::Question);
- response.setWindowModality(Qt::WindowModal);
- switch (response.exec()) {
- case QDialog::Accepted:
- // nothing to do here, we'll just ask again the next time they start
- break;
- case QDialog::Rejected:
- QSettings s;
- s.beginGroup("UserSurvey");
- s.setValue("SurveyDone", "declined");
- break;
- }
- hide();
-}
-
-void UserSurvey::requestReceived()
-{
- QMessageBox msgbox;
- QString msgTitle = tr("Submit user survey.");
- QString msgText = "<h3>" + tr("Subsurface was unable to submit the user survey.") + "</h3>";
-
- QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
- if (reply->error() != QNetworkReply::NoError) {
- //Network Error
- msgText = msgText + "<br/><b>" + tr("The following error occurred:") + "</b><br/>" + reply->errorString()
- + "<br/><br/><b>" + tr("Please check your internet connection.") + "</b>";
- } else {
- //No network error
- QString response(reply->readAll());
- QString responseBody = response.split("\"").at(1);
-
- msgbox.setIcon(QMessageBox::Information);
-
- if (responseBody == "OK") {
- msgText = tr("Survey successfully submitted.");
- QSettings s;
- s.beginGroup("UserSurvey");
- s.setValue("SurveyDone", "submitted");
- } else {
- msgText = tr("There was an error while trying to check for updates.<br/><br/>%1").arg(responseBody);
- msgbox.setIcon(QMessageBox::Warning);
- }
- }
-
- msgbox.setWindowTitle(msgTitle);
- msgbox.setWindowIcon(QIcon(":/subsurface-icon"));
- msgbox.setText(msgText);
- msgbox.setTextFormat(Qt::RichText);
- msgbox.exec();
- reply->deleteLater();
-}