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/GameList/GameListModel.h"
|
||||||
#include "DolphinQt2/Resources.h"
|
#include "DolphinQt2/Resources.h"
|
||||||
|
#include "DolphinQt2/Settings.h"
|
||||||
|
|
||||||
const QSize GAMECUBE_BANNER_SIZE(96, 32);
|
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(&m_tracker, &GameTracker::GameRemoved, this, &GameListModel::RemoveGame);
|
||||||
connect(this, &GameListModel::DirectoryAdded, &m_tracker, &GameTracker::AddDirectory);
|
connect(this, &GameListModel::DirectoryAdded, &m_tracker, &GameTracker::AddDirectory);
|
||||||
connect(this, &GameListModel::DirectoryRemoved, &m_tracker, &GameTracker::RemoveDirectory);
|
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
|
QVariant GameListModel::data(const QModelIndex& index, int role) const
|
||||||
|
|
|
@ -82,12 +82,20 @@ void Resources::Init()
|
||||||
{
|
{
|
||||||
m_countries.append(GetScaledPixmap(country));
|
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("nobanner"));
|
||||||
m_misc.append(GetScaledPixmap("dolphin_logo"));
|
m_misc.append(GetScaledPixmap("dolphin_logo"));
|
||||||
m_misc.append(GetScaledPixmap("Dolphin"));
|
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)
|
QPixmap Resources::GetPlatform(int platform)
|
||||||
|
|
|
@ -33,6 +33,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Resources() {}
|
Resources() {}
|
||||||
|
static void InitThemeIcons();
|
||||||
static QIcon GetIcon(const QString& name, const QString& dir);
|
static QIcon GetIcon(const QString& name, const QString& dir);
|
||||||
static QPixmap GetPixmap(const QString& name, const QString& dir);
|
static QPixmap GetPixmap(const QString& name, const QString& dir);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue