From 8237a1c47fa50ac9dd0f4a3fef26c0c40175fb9e Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Wed, 25 Sep 2019 18:39:37 -0400 Subject: use QStyleFactory to get default styles instead of hardcoding them don't display extensions in style combobox --- src/moapplication.cpp | 4 ++-- src/settingsdialoggeneral.cpp | 23 +++++++++++++++++------ 2 files changed, 19 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/moapplication.cpp b/src/moapplication.cpp index 79e931fb..a071d58b 100644 --- a/src/moapplication.cpp +++ b/src/moapplication.cpp @@ -132,8 +132,8 @@ bool MOApplication::notify(QObject *receiver, QEvent *event) void MOApplication::updateStyle(const QString &fileName) { - if (fileName == "Fusion") { - setStyle(QStyleFactory::create("fusion")); + if (QStyleFactory::keys().contains(fileName)) { + setStyle(QStyleFactory::create(fileName)); setStyleSheet(""); } else { setStyle(new ProxyStyle(QStyleFactory::create(m_DefaultStyle))); diff --git a/src/settingsdialoggeneral.cpp b/src/settingsdialoggeneral.cpp index be57101e..754d10cb 100644 --- a/src/settingsdialoggeneral.cpp +++ b/src/settingsdialoggeneral.cpp @@ -208,13 +208,24 @@ void GeneralSettingsTab::selectLanguage() void GeneralSettingsTab::addStyles() { ui->styleBox->addItem("None", ""); - ui->styleBox->addItem("Fusion", "Fusion"); + for (auto&& key : QStyleFactory::keys()) { + ui->styleBox->addItem(key, key); + } - QDirIterator langIter(QCoreApplication::applicationDirPath() + "/" + QString::fromStdWString(AppConfig::stylesheetsPath()), QStringList("*.qss"), QDir::Files); - while (langIter.hasNext()) { - langIter.next(); - QString style = langIter.fileName(); - ui->styleBox->addItem(style, style); + ui->styleBox->insertSeparator(ui->styleBox->count()); + + QDirIterator iter( + QCoreApplication::applicationDirPath() + "/" + + QString::fromStdWString(AppConfig::stylesheetsPath()), + QStringList("*.qss"), + QDir::Files); + + while (iter.hasNext()) { + iter.next(); + + ui->styleBox->addItem( + iter.fileInfo().completeBaseName(), + iter.fileName()); } } -- cgit v1.3.1