NOISSUE language selection wizard improvements

Same needs to be applied to the application settings later.
This commit is contained in:
Petr Mrázek
2019-01-08 02:20:36 +01:00
parent 819503d530
commit e71786d7b9
4 changed files with 102 additions and 9 deletions

View File

@ -3,7 +3,9 @@
#include <translations/TranslationsModel.h>
#include <QVBoxLayout>
#include <QListView>
#include <QTreeView>
#include <QHeaderView>
#include <QLabel>
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?") +
"<br/>" +
QString("<a href=\"https://github.com/MultiMC/MultiMC5/wiki/Translating-MultiMC\">%1</a>").arg("Help us with translations!");
helpUsLabel->setText(text);
}
void LanguageWizardPage::languageRowChanged(const QModelIndex &current, const QModelIndex &previous)

View File

@ -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;
};