2014-06-13 17:56:46 +00:00
|
|
|
#include <QShortcut>
|
|
|
|
#include <QMessageBox>
|
|
|
|
#include <QDebug>
|
|
|
|
#include <QSettings>
|
|
|
|
|
|
|
|
#include "usersurvey.h"
|
|
|
|
#include "ui_usersurvey.h"
|
|
|
|
#include "ssrf-version.h"
|
|
|
|
|
|
|
|
#include "helpers.h"
|
2014-06-14 19:27:57 +00:00
|
|
|
#include "subsurfacesysinfo.h"
|
2014-06-13 17:56:46 +00:00
|
|
|
UserSurvey::UserSurvey(QWidget *parent) : QDialog(parent),
|
|
|
|
ui(new Ui::UserSurvey)
|
|
|
|
{
|
|
|
|
ui->setupUi(this);
|
2014-06-14 21:20:14 +00:00
|
|
|
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()));
|
|
|
|
|
2014-06-13 17:56:46 +00:00
|
|
|
// fill in the system data
|
2014-06-14 21:20:14 +00:00
|
|
|
ui->system->append(tr("Subsurface %1").arg(VERSION_STRING));
|
2014-06-14 19:27:57 +00:00
|
|
|
ui->system->append(tr("Operating System: %1").arg(SubsurfaceSysInfo::prettyOsName()));
|
|
|
|
ui->system->append(tr("CPU Architecture: %1").arg(SubsurfaceSysInfo::cpuArchitecture()));
|
2014-06-14 21:20:14 +00:00
|
|
|
ui->system->append(tr("Language: %1").arg(uiLanguage(NULL)));
|
2014-06-13 17:56:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
UserSurvey::~UserSurvey()
|
|
|
|
{
|
|
|
|
delete ui;
|
|
|
|
}
|
|
|
|
|
|
|
|
void UserSurvey::on_buttonBox_accepted()
|
|
|
|
{
|
|
|
|
// now we need to collect the data and submit it
|
|
|
|
QSettings s;
|
|
|
|
s.beginGroup("UserSurvey");
|
|
|
|
s.setValue("SurveyDone", "submitted");
|
|
|
|
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();
|
|
|
|
}
|