summaryrefslogtreecommitdiffstats
path: root/application/setupwizard
diff options
context:
space:
mode:
Diffstat (limited to 'application/setupwizard')
-rw-r--r--application/setupwizard/AnalyticsWizardPage.cpp70
-rw-r--r--application/setupwizard/AnalyticsWizardPage.h16
-rw-r--r--application/setupwizard/BaseWizardPage.h42
-rw-r--r--application/setupwizard/JavaWizardPage.cpp90
-rw-r--r--application/setupwizard/JavaWizardPage.h24
-rw-r--r--application/setupwizard/LanguageWizardPage.cpp54
-rw-r--r--application/setupwizard/LanguageWizardPage.h23
-rw-r--r--application/setupwizard/SetupWizard.cpp90
-rw-r--r--application/setupwizard/SetupWizard.h18
9 files changed, 202 insertions, 225 deletions
diff --git a/application/setupwizard/AnalyticsWizardPage.cpp b/application/setupwizard/AnalyticsWizardPage.cpp
index 1109249b..6e063e99 100644
--- a/application/setupwizard/AnalyticsWizardPage.cpp
+++ b/application/setupwizard/AnalyticsWizardPage.cpp
@@ -8,22 +8,22 @@
#include <BuildConfig.h>
AnalyticsWizardPage::AnalyticsWizardPage(QWidget *parent)
- : BaseWizardPage(parent)
+ : BaseWizardPage(parent)
{
- setObjectName(QStringLiteral("analyticsPage"));
- verticalLayout_3 = new QVBoxLayout(this);
- verticalLayout_3->setObjectName(QStringLiteral("verticalLayout_3"));
- textBrowser = new QTextBrowser(this);
- textBrowser->setObjectName(QStringLiteral("textBrowser"));
- textBrowser->setAcceptRichText(false);
- textBrowser->setOpenExternalLinks(true);
- verticalLayout_3->addWidget(textBrowser);
+ setObjectName(QStringLiteral("analyticsPage"));
+ verticalLayout_3 = new QVBoxLayout(this);
+ verticalLayout_3->setObjectName(QStringLiteral("verticalLayout_3"));
+ textBrowser = new QTextBrowser(this);
+ textBrowser->setObjectName(QStringLiteral("textBrowser"));
+ textBrowser->setAcceptRichText(false);
+ textBrowser->setOpenExternalLinks(true);
+ verticalLayout_3->addWidget(textBrowser);
- checkBox = new QCheckBox(this);
- checkBox->setObjectName(QStringLiteral("checkBox"));
- checkBox->setChecked(true);
- verticalLayout_3->addWidget(checkBox);
- retranslate();
+ checkBox = new QCheckBox(this);
+ checkBox->setObjectName(QStringLiteral("checkBox"));
+ checkBox->setChecked(true);
+ verticalLayout_3->addWidget(checkBox);
+ retranslate();
}
AnalyticsWizardPage::~AnalyticsWizardPage()
@@ -32,29 +32,29 @@ AnalyticsWizardPage::~AnalyticsWizardPage()
bool AnalyticsWizardPage::validatePage()
{
- auto settings = MMC->settings();
- auto status = checkBox->isChecked();
- settings->set("Analytics", status);
- return true;
+ auto settings = MMC->settings();
+ auto status = checkBox->isChecked();
+ settings->set("Analytics", status);
+ return true;
}
void AnalyticsWizardPage::retranslate()
{
- setTitle(tr("Analytics"));
- setSubTitle(tr("We track some anonymous statistics about users."));
- textBrowser->setHtml(tr(
- "<html><body>"
- "<p>MultiMC sends anonymous usage statistics on every start of the application. This helps us decide what platforms and issues to focus on.</p>"
- "<p>The data is processed by Google Analytics, see their <a href=\"https://support.google.com/analytics/answer/6004245?hl=en\">article on the "
- "matter</a>.</p>"
- "<p>The following data is collected:</p>"
- "<ul><li>A random unique ID of the MultiMC installation.<br />It is stored in the application settings (multimc.cfg).</li>"
- "<li>Anonymized (partial) IP address.</li>"
- "<li>MultiMC version.</li>"
- "<li>Operating system name, version and architecture.</li>"
- "<li>CPU architecture (kernel architecture on linux).</li>"
- "<li>Size of system memory.</li>"
- "<li>Java version, architecture and memory settings.</li></ul>"
- "<p>If we change the tracked information, you will see this page again.</p></body></html>"));
- checkBox->setText(tr("Enable Analytics"));
+ setTitle(tr("Analytics"));
+ setSubTitle(tr("We track some anonymous statistics about users."));
+ textBrowser->setHtml(tr(
+ "<html><body>"
+ "<p>MultiMC sends anonymous usage statistics on every start of the application. This helps us decide what platforms and issues to focus on.</p>"
+ "<p>The data is processed by Google Analytics, see their <a href=\"https://support.google.com/analytics/answer/6004245?hl=en\">article on the "
+ "matter</a>.</p>"
+ "<p>The following data is collected:</p>"
+ "<ul><li>A random unique ID of the MultiMC installation.<br />It is stored in the application settings (multimc.cfg).</li>"
+ "<li>Anonymized (partial) IP address.</li>"
+ "<li>MultiMC version.</li>"
+ "<li>Operating system name, version and architecture.</li>"
+ "<li>CPU architecture (kernel architecture on linux).</li>"
+ "<li>Size of system memory.</li>"
+ "<li>Java version, architecture and memory settings.</li></ul>"
+ "<p>If we change the tracked information, you will see this page again.</p></body></html>"));
+ checkBox->setText(tr("Enable Analytics"));
}
diff --git a/application/setupwizard/AnalyticsWizardPage.h b/application/setupwizard/AnalyticsWizardPage.h
index 03de9cb0..c451db2c 100644
--- a/application/setupwizard/AnalyticsWizardPage.h
+++ b/application/setupwizard/AnalyticsWizardPage.h
@@ -8,18 +8,18 @@ class QCheckBox;
class AnalyticsWizardPage : public BaseWizardPage
{
- Q_OBJECT;
+ Q_OBJECT
public:
- explicit AnalyticsWizardPage(QWidget *parent = Q_NULLPTR);
- virtual ~AnalyticsWizardPage();
+ explicit AnalyticsWizardPage(QWidget *parent = Q_NULLPTR);
+ virtual ~AnalyticsWizardPage();
- bool validatePage() override;
+ bool validatePage() override;
protected:
- void retranslate() override;
+ void retranslate() override;
private:
- QVBoxLayout *verticalLayout_3 = nullptr;
- QTextBrowser *textBrowser = nullptr;
- QCheckBox *checkBox = nullptr;
+ QVBoxLayout *verticalLayout_3 = nullptr;
+ QTextBrowser *textBrowser = nullptr;
+ QCheckBox *checkBox = nullptr;
}; \ No newline at end of file
diff --git a/application/setupwizard/BaseWizardPage.h b/application/setupwizard/BaseWizardPage.h
index 9ad54e09..72dbecfd 100644
--- a/application/setupwizard/BaseWizardPage.h
+++ b/application/setupwizard/BaseWizardPage.h
@@ -6,28 +6,28 @@
class BaseWizardPage : public QWizardPage
{
public:
- explicit BaseWizardPage(QWidget *parent = Q_NULLPTR)
- : QWizardPage(parent)
- {
- }
- virtual ~BaseWizardPage() {};
+ explicit BaseWizardPage(QWidget *parent = Q_NULLPTR)
+ : QWizardPage(parent)
+ {
+ }
+ virtual ~BaseWizardPage() {};
- virtual bool wantsRefreshButton()
- {
- return false;
- }
- virtual void refresh()
- {
- }
+ virtual bool wantsRefreshButton()
+ {
+ return false;
+ }
+ virtual void refresh()
+ {
+ }
protected:
- virtual void retranslate() = 0;
- void changeEvent(QEvent * event) override
- {
- if (event->type() == QEvent::LanguageChange)
- {
- retranslate();
- }
- QWizardPage::changeEvent(event);
- }
+ virtual void retranslate() = 0;
+ void changeEvent(QEvent * event) override
+ {
+ if (event->type() == QEvent::LanguageChange)
+ {
+ retranslate();
+ }
+ QWizardPage::changeEvent(event);
+ }
};
diff --git a/application/setupwizard/JavaWizardPage.cpp b/application/setupwizard/JavaWizardPage.cpp
index cd2bca46..ad571c09 100644
--- a/application/setupwizard/JavaWizardPage.cpp
+++ b/application/setupwizard/JavaWizardPage.cpp
@@ -21,76 +21,76 @@
JavaWizardPage::JavaWizardPage(QWidget *parent)
- :BaseWizardPage(parent)
+ :BaseWizardPage(parent)
{
- setupUi();
+ setupUi();
}
void JavaWizardPage::setupUi()
{
- setObjectName(QStringLiteral("javaPage"));
- QVBoxLayout * layout = new QVBoxLayout(this);
+ setObjectName(QStringLiteral("javaPage"));
+ QVBoxLayout * layout = new QVBoxLayout(this);
- m_java_widget = new JavaSettingsWidget(this);
- layout->addWidget(m_java_widget);
- setLayout(layout);
+ m_java_widget = new JavaSettingsWidget(this);
+ layout->addWidget(m_java_widget);
+ setLayout(layout);
- retranslate();
+ retranslate();
}
void JavaWizardPage::refresh()
{
- m_java_widget->refresh();
+ m_java_widget->refresh();
}
void JavaWizardPage::initializePage()
{
- m_java_widget->initialize();
+ m_java_widget->initialize();
}
bool JavaWizardPage::wantsRefreshButton()
{
- return true;
+ return true;
}
bool JavaWizardPage::validatePage()
{
- auto settings = MMC->settings();
- auto result = m_java_widget->validate();
- switch(result)
- {
- default:
- case JavaSettingsWidget::ValidationStatus::Bad:
- {
- return false;
- }
- case JavaSettingsWidget::ValidationStatus::AllOK:
- {
- settings->set("JavaPath", m_java_widget->javaPath());
- }
- case JavaSettingsWidget::ValidationStatus::JavaBad:
- {
- // Memory
- auto s = MMC->settings();
- s->set("MinMemAlloc", m_java_widget->minHeapSize());
- s->set("MaxMemAlloc", m_java_widget->maxHeapSize());
- if (m_java_widget->permGenEnabled())
- {
- s->set("PermGen", m_java_widget->permGenSize());
- }
- else
- {
- s->reset("PermGen");
- }
- return true;
- }
- }
+ auto settings = MMC->settings();
+ auto result = m_java_widget->validate();
+ switch(result)
+ {
+ default:
+ case JavaSettingsWidget::ValidationStatus::Bad:
+ {
+ return false;
+ }
+ case JavaSettingsWidget::ValidationStatus::AllOK:
+ {
+ settings->set("JavaPath", m_java_widget->javaPath());
+ }
+ case JavaSettingsWidget::ValidationStatus::JavaBad:
+ {
+ // Memory
+ auto s = MMC->settings();
+ s->set("MinMemAlloc", m_java_widget->minHeapSize());
+ s->set("MaxMemAlloc", m_java_widget->maxHeapSize());
+ if (m_java_widget->permGenEnabled())
+ {
+ s->set("PermGen", m_java_widget->permGenSize());
+ }
+ else
+ {
+ s->reset("PermGen");
+ }
+ return true;
+ }
+ }
}
void JavaWizardPage::retranslate()
{
- setTitle(tr("Java"));
- setSubTitle(tr("You do not have a working Java set up yet or it went missing.\n"
- "Please select one of the following or browse for a java executable."));
- m_java_widget->retranslate();
+ setTitle(tr("Java"));
+ setSubTitle(tr("You do not have a working Java set up yet or it went missing.\n"
+ "Please select one of the following or browse for a java executable."));
+ m_java_widget->retranslate();
}
diff --git a/application/setupwizard/JavaWizardPage.h b/application/setupwizard/JavaWizardPage.h
index 4ea31d24..0d749039 100644
--- a/application/setupwizard/JavaWizardPage.h
+++ b/application/setupwizard/JavaWizardPage.h
@@ -6,24 +6,24 @@ class JavaSettingsWidget;
class JavaWizardPage : public BaseWizardPage
{
- Q_OBJECT;
+ Q_OBJECT
public:
- explicit JavaWizardPage(QWidget *parent = Q_NULLPTR);
+ explicit JavaWizardPage(QWidget *parent = Q_NULLPTR);
- virtual ~JavaWizardPage()
- {
- };
+ virtual ~JavaWizardPage()
+ {
+ };
- bool wantsRefreshButton() override;
- void refresh() override;
- void initializePage() override;
- bool validatePage() override;
+ bool wantsRefreshButton() override;
+ void refresh() override;
+ void initializePage() override;
+ bool validatePage() override;
protected: /* methods */
- void setupUi();
- void retranslate() override;
+ void setupUi();
+ void retranslate() override;
private: /* data */
- JavaSettingsWidget *m_java_widget = nullptr;
+ JavaSettingsWidget *m_java_widget = nullptr;
};
diff --git a/application/setupwizard/LanguageWizardPage.cpp b/application/setupwizard/LanguageWizardPage.cpp
index b884c91a..ca93c6f5 100644
--- a/application/setupwizard/LanguageWizardPage.cpp
+++ b/application/setupwizard/LanguageWizardPage.cpp
@@ -2,25 +2,19 @@
#include <MultiMC.h>
#include <translations/TranslationsModel.h>
+#include "widgets/LanguageSelectionWidget.h"
#include <QVBoxLayout>
-#include <QListView>
LanguageWizardPage::LanguageWizardPage(QWidget *parent)
- : BaseWizardPage(parent)
+ : BaseWizardPage(parent)
{
- setObjectName(QStringLiteral("languagePage"));
- verticalLayout = new QVBoxLayout(this);
- verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
- languageView = new QListView(this);
- languageView->setObjectName(QStringLiteral("languageView"));
- verticalLayout->addWidget(languageView);
- retranslate();
+ setObjectName(QStringLiteral("languagePage"));
+ auto layout = new QVBoxLayout(this);
+ mainWidget = new LanguageSelectionWidget(this);
+ layout->setContentsMargins(0,0,0,0);
+ layout->addWidget(mainWidget);
- auto translations = MMC->translations();
- auto index = translations->selectedIndex();
- languageView->setModel(translations.get());
- languageView->setCurrentIndex(index);
- connect(languageView->selectionModel(), &QItemSelectionModel::currentRowChanged, this, &LanguageWizardPage::languageRowChanged);
+ retranslate();
}
LanguageWizardPage::~LanguageWizardPage()
@@ -29,38 +23,26 @@ LanguageWizardPage::~LanguageWizardPage()
bool LanguageWizardPage::wantsRefreshButton()
{
- return true;
+ return true;
}
void LanguageWizardPage::refresh()
{
- auto translations = MMC->translations();
- translations->downloadIndex();
+ auto translations = MMC->translations();
+ translations->downloadIndex();
}
bool LanguageWizardPage::validatePage()
{
- auto settings = MMC->settings();
- auto translations = MMC->translations();
- QString key = translations->data(languageView->currentIndex(), Qt::UserRole).toString();
- settings->set("Language", key);
- return true;
+ auto settings = MMC->settings();
+ QString key = mainWidget->getSelectedLanguageKey();
+ settings->set("Language", key);
+ return true;
}
void LanguageWizardPage::retranslate()
{
- setTitle(tr("Language"));
- setSubTitle(tr("Select the language to use in MultiMC"));
-}
-
-void LanguageWizardPage::languageRowChanged(const QModelIndex &current, const QModelIndex &previous)
-{
- if (current == previous)
- {
- return;
- }
- auto translations = MMC->translations();
- QString key = translations->data(current, Qt::UserRole).toString();
- translations->selectLanguage(key);
- translations->updateLanguage(key);
+ setTitle(tr("Language"));
+ setSubTitle(tr("Select the language to use in MultiMC"));
+ mainWidget->retranslate();
}
diff --git a/application/setupwizard/LanguageWizardPage.h b/application/setupwizard/LanguageWizardPage.h
index 8b55d57f..45a0e5c0 100644
--- a/application/setupwizard/LanguageWizardPage.h
+++ b/application/setupwizard/LanguageWizardPage.h
@@ -2,30 +2,25 @@
#include "BaseWizardPage.h"
-class QVBoxLayout;
-class QListView;
+class LanguageSelectionWidget;
class LanguageWizardPage : public BaseWizardPage
{
- Q_OBJECT;
+ Q_OBJECT
public:
- explicit LanguageWizardPage(QWidget *parent = Q_NULLPTR);
+ explicit LanguageWizardPage(QWidget *parent = Q_NULLPTR);
- virtual ~LanguageWizardPage();
+ virtual ~LanguageWizardPage();
- bool wantsRefreshButton() override;
+ bool wantsRefreshButton() override;
- void refresh() override;
+ void refresh() override;
- bool validatePage() override;
+ bool validatePage() override;
protected:
- void retranslate() override;
-
-protected slots:
- void languageRowChanged(const QModelIndex &current, const QModelIndex &previous);
+ void retranslate() override;
private:
- QVBoxLayout *verticalLayout = nullptr;
- QListView *languageView = nullptr;
+ LanguageSelectionWidget *mainWidget = nullptr;
};
diff --git a/application/setupwizard/SetupWizard.cpp b/application/setupwizard/SetupWizard.cpp
index c4b21713..5c2d60ac 100644
--- a/application/setupwizard/SetupWizard.cpp
+++ b/application/setupwizard/SetupWizard.cpp
@@ -12,74 +12,74 @@
SetupWizard::SetupWizard(QWidget *parent) : QWizard(parent)
{
- setObjectName(QStringLiteral("SetupWizard"));
- resize(615, 659);
- // make it ugly everywhere to avoid variability in theming
- setWizardStyle(QWizard::ClassicStyle);
- setOptions(QWizard::NoCancelButton | QWizard::IndependentPages | QWizard::HaveCustomButton1);
+ setObjectName(QStringLiteral("SetupWizard"));
+ resize(615, 659);
+ // make it ugly everywhere to avoid variability in theming
+ setWizardStyle(QWizard::ClassicStyle);
+ setOptions(QWizard::NoCancelButton | QWizard::IndependentPages | QWizard::HaveCustomButton1);
- retranslate();
+ retranslate();
- connect(this, &QWizard::currentIdChanged, this, &SetupWizard::pageChanged);
+ connect(this, &QWizard::currentIdChanged, this, &SetupWizard::pageChanged);
}
void SetupWizard::retranslate()
{
- setButtonText(QWizard::NextButton, tr("&Next >"));
- setButtonText(QWizard::BackButton, tr("< &Back"));
- setButtonText(QWizard::FinishButton, tr("&Finish"));
- setButtonText(QWizard::CustomButton1, tr("&Refresh"));
- setWindowTitle(tr("MultiMC Quick Setup"));
+ setButtonText(QWizard::NextButton, tr("&Next >"));
+ setButtonText(QWizard::BackButton, tr("< &Back"));
+ setButtonText(QWizard::FinishButton, tr("&Finish"));
+ setButtonText(QWizard::CustomButton1, tr("&Refresh"));
+ setWindowTitle(tr("MultiMC Quick Setup"));
}
BaseWizardPage * SetupWizard::getBasePage(int id)
{
- if(id == -1)
- return nullptr;
- auto pagePtr = page(id);
- if(!pagePtr)
- return nullptr;
- return dynamic_cast<BaseWizardPage *>(pagePtr);
+ if(id == -1)
+ return nullptr;
+ auto pagePtr = page(id);
+ if(!pagePtr)
+ return nullptr;
+ return dynamic_cast<BaseWizardPage *>(pagePtr);
}
BaseWizardPage * SetupWizard::getCurrentBasePage()
{
- return getBasePage(currentId());
+ return getBasePage(currentId());
}
void SetupWizard::pageChanged(int id)
{
- auto basePagePtr = getBasePage(id);
- if(!basePagePtr)
- {
- return;
- }
- if(basePagePtr->wantsRefreshButton())
- {
- setButtonLayout({QWizard::CustomButton1, QWizard::Stretch, QWizard::BackButton, QWizard::NextButton, QWizard::FinishButton});
- auto customButton = button(QWizard::CustomButton1);
- connect(customButton, &QAbstractButton::pressed, [&](){
- auto basePagePtr = getCurrentBasePage();
- if(basePagePtr)
- {
- basePagePtr->refresh();
- }
- });
- }
- else
- {
- setButtonLayout({QWizard::Stretch, QWizard::BackButton, QWizard::NextButton, QWizard::FinishButton});
- }
+ auto basePagePtr = getBasePage(id);
+ if(!basePagePtr)
+ {
+ return;
+ }
+ if(basePagePtr->wantsRefreshButton())
+ {
+ setButtonLayout({QWizard::CustomButton1, QWizard::Stretch, QWizard::BackButton, QWizard::NextButton, QWizard::FinishButton});
+ auto customButton = button(QWizard::CustomButton1);
+ connect(customButton, &QAbstractButton::pressed, [&](){
+ auto basePagePtr = getCurrentBasePage();
+ if(basePagePtr)
+ {
+ basePagePtr->refresh();
+ }
+ });
+ }
+ else
+ {
+ setButtonLayout({QWizard::Stretch, QWizard::BackButton, QWizard::NextButton, QWizard::FinishButton});
+ }
}
void SetupWizard::changeEvent(QEvent *event)
{
- if (event->type() == QEvent::LanguageChange)
- {
- retranslate();
- }
- QWizard::changeEvent(event);
+ if (event->type() == QEvent::LanguageChange)
+ {
+ retranslate();
+ }
+ QWizard::changeEvent(event);
}
SetupWizard::~SetupWizard()
diff --git a/application/setupwizard/SetupWizard.h b/application/setupwizard/SetupWizard.h
index e3292997..08b0d805 100644
--- a/application/setupwizard/SetupWizard.h
+++ b/application/setupwizard/SetupWizard.h
@@ -1,4 +1,4 @@
-/* Copyright 2017-2018 MultiMC Contributors
+/* Copyright 2017-2019 MultiMC Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,20 +26,20 @@ class BaseWizardPage;
class SetupWizard : public QWizard
{
- Q_OBJECT
+ Q_OBJECT
public: /* con/destructors */
- explicit SetupWizard(QWidget *parent = 0);
- virtual ~SetupWizard();
+ explicit SetupWizard(QWidget *parent = 0);
+ virtual ~SetupWizard();
- void changeEvent(QEvent * event) override;
- BaseWizardPage *getBasePage(int id);
- BaseWizardPage *getCurrentBasePage();
+ void changeEvent(QEvent * event) override;
+ BaseWizardPage *getBasePage(int id);
+ BaseWizardPage *getCurrentBasePage();
private slots:
- void pageChanged(int id);
+ void pageChanged(int id);
private: /* methods */
- void retranslate();
+ void retranslate();
};