From e71786d7b97c6e3b7aa91d085c935ef67832abc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Tue, 8 Jan 2019 02:20:36 +0100 Subject: NOISSUE language selection wizard improvements Same needs to be applied to the application settings later. --- application/setupwizard/LanguageWizardPage.cpp | 25 +++++++++++++++++++++++-- application/setupwizard/LanguageWizardPage.h | 6 ++++-- 2 files changed, 27 insertions(+), 4 deletions(-) (limited to 'application/setupwizard') diff --git a/application/setupwizard/LanguageWizardPage.cpp b/application/setupwizard/LanguageWizardPage.cpp index dbbe5e7f..9a8fd37f 100644 --- a/application/setupwizard/LanguageWizardPage.cpp +++ b/application/setupwizard/LanguageWizardPage.cpp @@ -3,7 +3,9 @@ #include #include -#include +#include +#include +#include LanguageWizardPage::LanguageWizardPage(QWidget *parent) : BaseWizardPage(parent) @@ -11,15 +13,29 @@ LanguageWizardPage::LanguageWizardPage(QWidget *parent) setObjectName(QStringLiteral("languagePage")); verticalLayout = new QVBoxLayout(this); verticalLayout->setObjectName(QStringLiteral("verticalLayout")); - languageView = new QListView(this); + languageView = new QTreeView(this); languageView->setObjectName(QStringLiteral("languageView")); + languageView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + languageView->setAlternatingRowColors(true); + languageView->setRootIsDecorated(false); + languageView->setItemsExpandable(false); + languageView->setWordWrap(true); + languageView->header()->setCascadingSectionResizes(true); + languageView->header()->setStretchLastSection(false); verticalLayout->addWidget(languageView); + helpUsLabel = new QLabel(this); + helpUsLabel->setTextInteractionFlags(Qt::LinksAccessibleByMouse); + helpUsLabel->setOpenExternalLinks(true); + helpUsLabel->setWordWrap(true); + verticalLayout->addWidget(helpUsLabel); retranslate(); auto translations = MMC->translations(); auto index = translations->selectedIndex(); languageView->setModel(translations.get()); languageView->setCurrentIndex(index); + languageView->header()->setSectionResizeMode(QHeaderView::ResizeToContents); + languageView->header()->setSectionResizeMode(0, QHeaderView::Stretch); connect(languageView->selectionModel(), &QItemSelectionModel::currentRowChanged, this, &LanguageWizardPage::languageRowChanged); } @@ -51,6 +67,11 @@ void LanguageWizardPage::retranslate() { setTitle(tr("Language")); setSubTitle(tr("Select the language to use in MultiMC")); + QString text = + tr("Don't see your language or the quality is poor?") + + "
" + + QString("%1").arg("Help us with translations!"); + helpUsLabel->setText(text); } void LanguageWizardPage::languageRowChanged(const QModelIndex ¤t, const QModelIndex &previous) diff --git a/application/setupwizard/LanguageWizardPage.h b/application/setupwizard/LanguageWizardPage.h index 866f81c3..bfc02c95 100644 --- a/application/setupwizard/LanguageWizardPage.h +++ b/application/setupwizard/LanguageWizardPage.h @@ -3,7 +3,8 @@ #include "BaseWizardPage.h" class QVBoxLayout; -class QListView; +class QTreeView; +class QLabel; class LanguageWizardPage : public BaseWizardPage { @@ -27,5 +28,6 @@ protected slots: private: QVBoxLayout *verticalLayout = nullptr; - QListView *languageView = nullptr; + QTreeView *languageView = nullptr; + QLabel *helpUsLabel = nullptr; }; -- cgit v1.2.3