GameListModel: update icons when theme changes
This commit is contained in:
parent
5a4ee87d6a
commit
9bdbd02efc
|
@ -4,6 +4,7 @@
|
|||
|
||||
#include "DolphinQt2/GameList/GameListModel.h"
|
||||
#include "DolphinQt2/Resources.h"
|
||||
#include "DolphinQt2/Settings.h"
|
||||
|
||||
const QSize GAMECUBE_BANNER_SIZE(96, 32);
|
||||
|
||||
|
@ -13,6 +14,13 @@ GameListModel::GameListModel(QObject* parent) : QAbstractTableModel(parent)
|
|||
connect(&m_tracker, &GameTracker::GameRemoved, this, &GameListModel::RemoveGame);
|
||||
connect(this, &GameListModel::DirectoryAdded, &m_tracker, &GameTracker::AddDirectory);
|
||||
connect(this, &GameListModel::DirectoryRemoved, &m_tracker, &GameTracker::RemoveDirectory);
|
||||
|
||||
connect(&Settings::Instance(), &Settings::ThemeChanged, [this] {
|
||||
// Tell the view to repaint. The signal 'dataChanged' also seems like it would work here, but
|
||||
// unfortunately it won't cause a repaint until the view is focused.
|
||||
emit layoutAboutToBeChanged();
|
||||
emit layoutChanged();
|
||||
});
|
||||
}
|
||||
|
||||
QVariant GameListModel::data(const QModelIndex& index, int role) const
|
||||
|
|
|
@ -82,12 +82,20 @@ void Resources::Init()
|
|||
{
|
||||
m_countries.append(GetScaledPixmap(country));
|
||||
}
|
||||
for (int stars = 0; stars <= 5; stars++)
|
||||
m_ratings.append(GetScaledThemePixmap("rating" + std::to_string(stars)));
|
||||
|
||||
m_misc.append(GetScaledPixmap("nobanner"));
|
||||
m_misc.append(GetScaledPixmap("dolphin_logo"));
|
||||
m_misc.append(GetScaledPixmap("Dolphin"));
|
||||
|
||||
QObject::connect(&Settings::Instance(), &Settings::ThemeChanged, Resources::InitThemeIcons);
|
||||
InitThemeIcons();
|
||||
}
|
||||
|
||||
void Resources::InitThemeIcons()
|
||||
{
|
||||
m_ratings = {GetScaledThemePixmap("rating0"), GetScaledThemePixmap("rating1"),
|
||||
GetScaledThemePixmap("rating2"), GetScaledThemePixmap("rating3"),
|
||||
GetScaledThemePixmap("rating4"), GetScaledThemePixmap("rating5")};
|
||||
}
|
||||
|
||||
QPixmap Resources::GetPlatform(int platform)
|
||||
|
|
|
@ -33,6 +33,7 @@ public:
|
|||
|
||||
private:
|
||||
Resources() {}
|
||||
static void InitThemeIcons();
|
||||
static QIcon GetIcon(const QString& name, const QString& dir);
|
||||
static QPixmap GetPixmap(const QString& name, const QString& dir);
|
||||
|
||||
|
|
Loading…
Reference in New Issue