summaryrefslogtreecommitdiff
path: root/src/instancemanagerdialog.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-10-31 17:44:25 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2020-11-03 11:41:54 -0500
commitb10436d60f7db3eedd838cbfad93cb41ddf1fd86 (patch)
tree08c0f7ee4b61cbf367a5a6a03a39c6500c22689e /src/instancemanagerdialog.cpp
parent356d17b2ea70d9bfdc36d8199e12eb21cd3d4669 (diff)
game icons in the instance list
Diffstat (limited to 'src/instancemanagerdialog.cpp')
-rw-r--r--src/instancemanagerdialog.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/instancemanagerdialog.cpp b/src/instancemanagerdialog.cpp
index 7b8522ee..545b5c71 100644
--- a/src/instancemanagerdialog.cpp
+++ b/src/instancemanagerdialog.cpp
@@ -112,6 +112,19 @@ public:
return makeIniFile(m_dir);
}
+ QIcon icon(const PluginContainer& plugins) const
+ {
+ const auto* game = InstanceManager::instance().gamePluginForDirectory(
+ m_dir, plugins);
+
+ if (game)
+ return game->gameIcon();
+
+ QPixmap empty(32, 32);
+ empty.fill(QColor(0, 0, 0, 0));
+ return QIcon(empty);
+ }
+
bool isPortable() const
{
return m_portable;
@@ -376,7 +389,11 @@ void InstanceManagerDialog::updateList()
for (std::size_t i=0; i<m_instances.size(); ++i) {
const auto& ii = *m_instances[i];
- m_model->appendRow(new QStandardItem(ii.name()));
+
+ auto* item = new QStandardItem(ii.name());
+ item->setIcon(ii.icon(m_pc));
+
+ m_model->appendRow(item);
if (&ii == prevSel) {
sel = i;