diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index f73e54553..1ffe48c80 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -1240,36 +1240,27 @@ void OBSBasicSettings::LoadThemeList() while (it.hasNext()) { it.next(); QString name = it.fileInfo().completeBaseName(); - ui->theme->addItem(name); + ui->theme->addItem(name, name); uniqueSet.insert(name); } } - QString defaultTheme; - defaultTheme += DEFAULT_THEME; - defaultTheme += " "; - defaultTheme += QTStr("Default"); - /* Check shipped themes. */ QDirIterator uIt(QString(themeDir.c_str()), QStringList() << "*.qss", QDir::Files); while (uIt.hasNext()) { uIt.next(); QString name = uIt.fileInfo().completeBaseName(); + QString value = name; if (name == DEFAULT_THEME) - name = defaultTheme; + name += " " + QTStr("Default"); - if (!uniqueSet.contains(name) && name != "Default") - ui->theme->addItem(name); + if (!uniqueSet.contains(value) && name != "Default") + ui->theme->addItem(name, value); } - std::string themeName = App()->GetTheme(); - - if (themeName == DEFAULT_THEME) - themeName = QT_TO_UTF8(defaultTheme); - - int idx = ui->theme->findText(themeName.c_str()); + int idx = ui->theme->findData(QT_UTF8(App()->GetTheme())); if (idx != -1) ui->theme->setCurrentIndex(idx); } @@ -3096,14 +3087,7 @@ void OBSBasicSettings::SaveGeneralSettings() language.c_str()); int themeIndex = ui->theme->currentIndex(); - QString themeData = ui->theme->itemText(themeIndex); - QString defaultTheme; - defaultTheme += DEFAULT_THEME; - defaultTheme += " "; - defaultTheme += QTStr("Default"); - - if (themeData == defaultTheme) - themeData = DEFAULT_THEME; + QString themeData = ui->theme->itemData(themeIndex).toString(); if (WidgetChanged(ui->theme)) config_set_string(GetGlobalConfig(), "General", "CurrentTheme2", @@ -3955,15 +3939,7 @@ void OBSBasicSettings::reject() void OBSBasicSettings::on_theme_activated(int idx) { - QString currT = ui->theme->itemText(idx); - - QString defaultTheme; - defaultTheme += DEFAULT_THEME; - defaultTheme += " "; - defaultTheme += QTStr("Default"); - - if (currT == defaultTheme) - currT = DEFAULT_THEME; + QString currT = ui->theme->itemData(idx).toString(); App()->SetTheme(currT.toUtf8().constData()); }