mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-25 23:29:44 -06:00
SettingsWindow: update icons when theme changes
This commit is contained in:
@ -11,6 +11,7 @@
|
|||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
#include "DolphinQt2/Config/SettingsWindow.h"
|
#include "DolphinQt2/Config/SettingsWindow.h"
|
||||||
|
#include "DolphinQt2/Resources.h"
|
||||||
#include "DolphinQt2/Settings.h"
|
#include "DolphinQt2/Settings.h"
|
||||||
#include "DolphinQt2/Settings/GeneralPane.h"
|
#include "DolphinQt2/Settings/GeneralPane.h"
|
||||||
#include "DolphinQt2/Settings/InterfacePane.h"
|
#include "DolphinQt2/Settings/InterfacePane.h"
|
||||||
@ -75,15 +76,18 @@ void SettingsWindow::MakeUnfinishedWarning()
|
|||||||
m_warning_group->setLayout(m_warning_group_layout);
|
m_warning_group->setLayout(m_warning_group_layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsWindow::AddCategoryToList(const QString& title, const QString& icon)
|
void SettingsWindow::AddCategoryToList(const QString& title, const std::string& icon_name)
|
||||||
{
|
{
|
||||||
QString dir = Settings::Instance().GetThemeDir();
|
QString dir = Settings::Instance().GetThemeDir();
|
||||||
QListWidgetItem* button = new QListWidgetItem();
|
QListWidgetItem* button = new QListWidgetItem();
|
||||||
button->setIcon(QIcon(dir.append(icon)));
|
|
||||||
button->setText(title);
|
button->setText(title);
|
||||||
button->setTextAlignment(Qt::AlignVCenter);
|
button->setTextAlignment(Qt::AlignVCenter);
|
||||||
button->setSizeHint(QSize(28, 28));
|
button->setSizeHint(QSize(28, 28));
|
||||||
button->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
button->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
|
|
||||||
|
auto set_icon = [=] { button->setIcon(Resources::GetScaledThemeIcon(icon_name)); };
|
||||||
|
QObject::connect(&Settings::Instance(), &Settings::ThemeChanged, set_icon);
|
||||||
|
set_icon();
|
||||||
m_categories->addItem(button);
|
m_categories->addItem(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,9 +99,9 @@ void SettingsWindow::MakeCategoryList()
|
|||||||
m_categories->setMovement(QListView::Static);
|
m_categories->setMovement(QListView::Static);
|
||||||
m_categories->setSpacing(0);
|
m_categories->setSpacing(0);
|
||||||
|
|
||||||
AddCategoryToList(tr("General"), QStringLiteral("config.png"));
|
AddCategoryToList(tr("General"), "config");
|
||||||
AddCategoryToList(tr("Interface"), QStringLiteral("browse.png"));
|
AddCategoryToList(tr("Interface"), "browse");
|
||||||
AddCategoryToList(tr("Paths"), QStringLiteral("browse.png"));
|
AddCategoryToList(tr("Paths"), "browse");
|
||||||
connect(m_categories, &QListWidget::currentItemChanged, this, &SettingsWindow::changePage);
|
connect(m_categories, &QListWidget::currentItemChanged, this, &SettingsWindow::changePage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
||||||
class QGroupBox;
|
class QGroupBox;
|
||||||
@ -23,7 +25,7 @@ public slots:
|
|||||||
private:
|
private:
|
||||||
void MakeCategoryList();
|
void MakeCategoryList();
|
||||||
void MakeUnfinishedWarning();
|
void MakeUnfinishedWarning();
|
||||||
void AddCategoryToList(const QString& title, const QString& icon);
|
void AddCategoryToList(const QString& title, const std::string& icon_name);
|
||||||
void SetupSettingsWidget();
|
void SetupSettingsWidget();
|
||||||
QStackedWidget* m_settings_outer;
|
QStackedWidget* m_settings_outer;
|
||||||
QListWidget* m_categories;
|
QListWidget* m_categories;
|
||||||
|
Reference in New Issue
Block a user