diff --git a/pcsx2-qt/resources/icons/AppIconLarge.png b/bin/resources/icons/AppIconLarge.png similarity index 100% rename from pcsx2-qt/resources/icons/AppIconLarge.png rename to bin/resources/icons/AppIconLarge.png diff --git a/pcsx2-qt/resources/icons/flags/NTSC-B.png b/bin/resources/icons/flags/NTSC-B.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/NTSC-B.png rename to bin/resources/icons/flags/NTSC-B.png diff --git a/pcsx2-qt/resources/icons/flags/NTSC-C.png b/bin/resources/icons/flags/NTSC-C.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/NTSC-C.png rename to bin/resources/icons/flags/NTSC-C.png diff --git a/pcsx2-qt/resources/icons/flags/NTSC-HK.png b/bin/resources/icons/flags/NTSC-HK.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/NTSC-HK.png rename to bin/resources/icons/flags/NTSC-HK.png diff --git a/pcsx2-qt/resources/icons/flags/NTSC-J.png b/bin/resources/icons/flags/NTSC-J.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/NTSC-J.png rename to bin/resources/icons/flags/NTSC-J.png diff --git a/pcsx2-qt/resources/icons/flags/NTSC-K.png b/bin/resources/icons/flags/NTSC-K.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/NTSC-K.png rename to bin/resources/icons/flags/NTSC-K.png diff --git a/pcsx2-qt/resources/icons/flags/NTSC-T.png b/bin/resources/icons/flags/NTSC-T.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/NTSC-T.png rename to bin/resources/icons/flags/NTSC-T.png diff --git a/pcsx2-qt/resources/icons/flags/NTSC-U.png b/bin/resources/icons/flags/NTSC-U.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/NTSC-U.png rename to bin/resources/icons/flags/NTSC-U.png diff --git a/pcsx2-qt/resources/icons/flags/Other.png b/bin/resources/icons/flags/Other.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/Other.png rename to bin/resources/icons/flags/Other.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-A.png b/bin/resources/icons/flags/PAL-A.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-A.png rename to bin/resources/icons/flags/PAL-A.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-AF.png b/bin/resources/icons/flags/PAL-AF.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-AF.png rename to bin/resources/icons/flags/PAL-AF.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-AU.png b/bin/resources/icons/flags/PAL-AU.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-AU.png rename to bin/resources/icons/flags/PAL-AU.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-BE.png b/bin/resources/icons/flags/PAL-BE.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-BE.png rename to bin/resources/icons/flags/PAL-BE.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-E.png b/bin/resources/icons/flags/PAL-E.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-E.png rename to bin/resources/icons/flags/PAL-E.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-F.png b/bin/resources/icons/flags/PAL-F.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-F.png rename to bin/resources/icons/flags/PAL-F.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-FI.png b/bin/resources/icons/flags/PAL-FI.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-FI.png rename to bin/resources/icons/flags/PAL-FI.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-G.png b/bin/resources/icons/flags/PAL-G.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-G.png rename to bin/resources/icons/flags/PAL-G.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-GR.png b/bin/resources/icons/flags/PAL-GR.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-GR.png rename to bin/resources/icons/flags/PAL-GR.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-I.png b/bin/resources/icons/flags/PAL-I.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-I.png rename to bin/resources/icons/flags/PAL-I.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-IN.png b/bin/resources/icons/flags/PAL-IN.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-IN.png rename to bin/resources/icons/flags/PAL-IN.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-M.png b/bin/resources/icons/flags/PAL-M.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-M.png rename to bin/resources/icons/flags/PAL-M.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-NL.png b/bin/resources/icons/flags/PAL-NL.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-NL.png rename to bin/resources/icons/flags/PAL-NL.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-NO.png b/bin/resources/icons/flags/PAL-NO.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-NO.png rename to bin/resources/icons/flags/PAL-NO.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-P.png b/bin/resources/icons/flags/PAL-P.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-P.png rename to bin/resources/icons/flags/PAL-P.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-R.png b/bin/resources/icons/flags/PAL-R.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-R.png rename to bin/resources/icons/flags/PAL-R.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-S.png b/bin/resources/icons/flags/PAL-S.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-S.png rename to bin/resources/icons/flags/PAL-S.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-SC.png b/bin/resources/icons/flags/PAL-SC.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-SC.png rename to bin/resources/icons/flags/PAL-SC.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-SW.png b/bin/resources/icons/flags/PAL-SW.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-SW.png rename to bin/resources/icons/flags/PAL-SW.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-SWI.png b/bin/resources/icons/flags/PAL-SWI.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-SWI.png rename to bin/resources/icons/flags/PAL-SWI.png diff --git a/pcsx2-qt/resources/icons/flags/PAL-UK.png b/bin/resources/icons/flags/PAL-UK.png similarity index 100% rename from pcsx2-qt/resources/icons/flags/PAL-UK.png rename to bin/resources/icons/flags/PAL-UK.png diff --git a/pcsx2-qt/resources/icons/star-0.png b/bin/resources/icons/star-0.png similarity index 100% rename from pcsx2-qt/resources/icons/star-0.png rename to bin/resources/icons/star-0.png diff --git a/pcsx2-qt/resources/icons/star-1.png b/bin/resources/icons/star-1.png similarity index 100% rename from pcsx2-qt/resources/icons/star-1.png rename to bin/resources/icons/star-1.png diff --git a/pcsx2-qt/resources/icons/star-2.png b/bin/resources/icons/star-2.png similarity index 100% rename from pcsx2-qt/resources/icons/star-2.png rename to bin/resources/icons/star-2.png diff --git a/pcsx2-qt/resources/icons/star-3.png b/bin/resources/icons/star-3.png similarity index 100% rename from pcsx2-qt/resources/icons/star-3.png rename to bin/resources/icons/star-3.png diff --git a/pcsx2-qt/resources/icons/star-4.png b/bin/resources/icons/star-4.png similarity index 100% rename from pcsx2-qt/resources/icons/star-4.png rename to bin/resources/icons/star-4.png diff --git a/pcsx2-qt/resources/icons/star-5.png b/bin/resources/icons/star-5.png similarity index 100% rename from pcsx2-qt/resources/icons/star-5.png rename to bin/resources/icons/star-5.png diff --git a/pcsx2-qt/GameList/GameListModel.cpp b/pcsx2-qt/GameList/GameListModel.cpp index 9f644b4ebf..c81de308c6 100644 --- a/pcsx2-qt/GameList/GameListModel.cpp +++ b/pcsx2-qt/GameList/GameListModel.cpp @@ -16,6 +16,7 @@ #include "PrecompiledHeader.h" #include "GameListModel.h" +#include "QtHost.h" #include "common/FileSystem.h" #include "common/Path.h" #include "common/StringUtil.h" @@ -457,17 +458,19 @@ void GameListModel::loadCommonImages() m_type_exe_pixmap = QIcon(QStringLiteral(":/icons/applications-system-24.png")).pixmap(QSize(24, 24)); m_type_playlist_pixmap = QIcon(QStringLiteral(":/icons/address-book-new-22.png")).pixmap(QSize(22, 22)); + const QString base_path(QtHost::GetResourcesBasePath()); + for (u32 i = 0; i < static_cast(GameList::Region::Count); i++) { m_region_pixmaps[i] = QIcon( - QStringLiteral(":/icons/flags/%1.png").arg(GameList::RegionToString(static_cast(i)))) + QStringLiteral("%1/icons/flags/%2.png").arg(base_path).arg(GameList::RegionToString(static_cast(i)))) .pixmap(QSize(42, 30)); } for (u32 i = 1; i < GameList::CompatibilityRatingCount; i++) - m_compatibility_pixmaps[i].load(QStringLiteral(":/icons/star-%1.png").arg(i - 1)); + m_compatibility_pixmaps[i].load(QStringLiteral("%1/icons/star-%2.png").arg(base_path).arg(i - 1)); - m_placeholder_pixmap.load(QString::fromStdString(Path::Combine(EmuFolders::Resources, "cover-placeholder.png"))); + m_placeholder_pixmap.load(QStringLiteral("%1/cover-placeholder.png").arg(base_path)); } void GameListModel::setColumnDisplayNames() diff --git a/pcsx2-qt/MainWindow.cpp b/pcsx2-qt/MainWindow.cpp index 2447dc838d..42fb8322dd 100644 --- a/pcsx2-qt/MainWindow.cpp +++ b/pcsx2-qt/MainWindow.cpp @@ -137,6 +137,7 @@ static void makeIconsMasks(QWidget* menu) void MainWindow::setupAdditionalUi() { + setWindowIcon(QIcon(QStringLiteral("%1/icons/AppIconLarge.png").arg(QtHost::GetResourcesBasePath()))); makeIconsMasks(menuBar()); const bool toolbar_visible = Host::GetBaseBoolSettingValue("UI", "ShowToolbar", false); diff --git a/pcsx2-qt/MainWindow.ui b/pcsx2-qt/MainWindow.ui index 7a1d3e3ddb..1a4408961e 100644 --- a/pcsx2-qt/MainWindow.ui +++ b/pcsx2-qt/MainWindow.ui @@ -16,10 +16,6 @@ PCSX2 - - - :/icons/AppIconLarge.png:/icons/AppIconLarge.png - diff --git a/pcsx2-qt/QtHost.cpp b/pcsx2-qt/QtHost.cpp index 3a94ce8f01..1f6a4e0e4d 100644 --- a/pcsx2-qt/QtHost.cpp +++ b/pcsx2-qt/QtHost.cpp @@ -421,6 +421,11 @@ QString QtHost::GetAppConfigSuffix() #endif } +QString QtHost::GetResourcesBasePath() +{ + return QString::fromStdString(EmuFolders::Resources); +} + std::optional> Host::ReadResourceFile(const char* filename) { const std::string path(Path::Combine(EmuFolders::Resources, filename)); diff --git a/pcsx2-qt/QtHost.h b/pcsx2-qt/QtHost.h index e02f02d685..20c71aa0d9 100644 --- a/pcsx2-qt/QtHost.h +++ b/pcsx2-qt/QtHost.h @@ -59,6 +59,9 @@ namespace QtHost /// Returns the debug/devel config indicator. QString GetAppConfigSuffix(); + /// Returns the base path for resources. This may be : prefixed, if we're using embedded resources. + QString GetResourcesBasePath(); + /// Thread-safe settings access. void SetBaseBoolSettingValue(const char* section, const char* key, bool value); void SetBaseIntSettingValue(const char* section, const char* key, int value); diff --git a/pcsx2-qt/Settings/BIOSSettingsWidget.cpp b/pcsx2-qt/Settings/BIOSSettingsWidget.cpp index d432c66ef7..badc2e3d07 100644 --- a/pcsx2-qt/Settings/BIOSSettingsWidget.cpp +++ b/pcsx2-qt/Settings/BIOSSettingsWidget.cpp @@ -23,6 +23,7 @@ #include "pcsx2/ps2/BiosTools.h" #include "BIOSSettingsWidget.h" +#include "QtHost.h" #include "QtUtils.h" #include "SettingWidgetBinder.h" #include "SettingsDialog.h" @@ -112,6 +113,7 @@ void BIOSSettingsWidget::updateSearchDirectory() void BIOSSettingsWidget::listRefreshed(const QVector& items) { const std::string selected_bios(Host::GetBaseStringSettingValue("Filenames", "BIOS")); + const QString res_path(QtHost::GetResourcesBasePath()); QSignalBlocker sb(m_ui.fileList); for (const BIOSInfo& bi : items) @@ -123,30 +125,30 @@ void BIOSSettingsWidget::listRefreshed(const QVector& items) switch (bi.region) { case 2: // Japan - item->setIcon(0, QIcon(QStringLiteral(":/icons/flags/NTSC-J.png"))); + item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/NTSC-J.png").arg(res_path))); break; case 3: // USA - item->setIcon(0, QIcon(QStringLiteral(":/icons/flags/NTSC-U.png"))); + item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/NTSC-U.png").arg(res_path))); break; case 4: // Europe - item->setIcon(0, QIcon(QStringLiteral(":/icons/flags/PAL-E.png"))); + item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/PAL-E.png").arg(res_path))); break; case 7: // China - item->setIcon(0, QIcon(QStringLiteral(":/icons//flags/NTSC-C.png"))); + item->setIcon(0, QIcon(QStringLiteral("%1/icons//flags/NTSC-C.png").arg(res_path))); break; case 5: // HK - item->setIcon(0, QIcon(QStringLiteral(":/icons/flags/NTSC-HK.png"))); + item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/NTSC-HK.png").arg(res_path))); break; case 6: // Free case 0: // T10K case 1: // Test default: - item->setIcon(0, QIcon(QStringLiteral(":/icons/flags/NTSC-J.png"))); + item->setIcon(0, QIcon(QStringLiteral("%1/icons/flags/NTSC-J.png").arg(res_path))); break; } diff --git a/pcsx2-qt/Settings/GameSummaryWidget.cpp b/pcsx2-qt/Settings/GameSummaryWidget.cpp index 0333603c4d..d6eb271b66 100644 --- a/pcsx2-qt/Settings/GameSummaryWidget.cpp +++ b/pcsx2-qt/Settings/GameSummaryWidget.cpp @@ -20,10 +20,24 @@ #include "Frontend/GameList.h" #include "GameSummaryWidget.h" +#include "QtHost.h" GameSummaryWidget::GameSummaryWidget(const GameList::Entry* entry, SettingsDialog* dialog, QWidget* parent) { m_ui.setupUi(this); + + const QString base_path(QtHost::GetResourcesBasePath()); + for (int i = 0; i < m_ui.region->count(); i++) + { + m_ui.region->setItemIcon(i, QIcon( + QStringLiteral("%1/icons/flags/%2.png").arg(base_path).arg(GameList::RegionToString(static_cast(i))))); + } + for (int i = 1; i < m_ui.compatibility->count(); i++) + { + m_ui.compatibility->setItemIcon(i, QIcon( + QStringLiteral("%1/icons/star-%2.png").arg(base_path).arg(i))); + } + populateUi(entry); } diff --git a/pcsx2-qt/Settings/GameSummaryWidget.ui b/pcsx2-qt/Settings/GameSummaryWidget.ui index bedb718d4f..e1b34e949c 100644 --- a/pcsx2-qt/Settings/GameSummaryWidget.ui +++ b/pcsx2-qt/Settings/GameSummaryWidget.ui @@ -101,262 +101,146 @@ NTSC-B (Brazil) - - - :/icons/flags/NTSC-B.png:/icons/flags/NTSC-B.png - NTSC-C (China) - - - :/icons/flags/NTSC-C.png:/icons/flags/NTSC-C.png - NTSC-HK (Hong Kong) - - - :/icons/flags/NTSC-HK.png:/icons/flags/NTSC-HK.png - NTSC-J (Japan) - - - :/icons/flags/NTSC-J.png:/icons/flags/NTSC-J.png - NTSC-K (Korea) - - - :/icons/flags/NTSC-K.png:/icons/flags/NTSC-K.png - NTSC-T (Taiwan) - - - :/icons/flags/NTSC-T.png:/icons/flags/NTSC-T.png - NTSC-U (US) - - - :/icons/flags/NTSC-U.png:/icons/flags/NTSC-U.png - Other - - - :/icons/flags/Other.png:/icons/flags/Other.png - PAL-A (Australia) - - - :/icons/flags/PAL-A.png:/icons/flags/PAL-A.png - PAL-AF (South Africa) - - - :/icons/flags/PAL-AF.png:/icons/flags/PAL-AF.png - PAL-AU (Austria) - - - :/icons/flags/PAL-AU.png:/icons/flags/PAL-AU.png - PAL-BE (Belgium) - - - :/icons/flags/PAL-BE.png:/icons/flags/PAL-BE.png - PAL-E (Europe/Australia) - - - :/icons/flags/PAL-E.png:/icons/flags/PAL-E.png - PAL-F (France) - - - :/icons/flags/PAL-F.png:/icons/flags/PAL-F.png - PAL-FI (Finland) - - - :/icons/flags/PAL-FI.png:/icons/flags/PAL-FI.png - PAL-G (Germany) - - - :/icons/flags/PAL-G.png:/icons/flags/PAL-G.png - PAL-GR (Greece) - - - :/icons/flags/PAL-GR.png:/icons/flags/PAL-GR.png - PAL-I (Italy) - - - :/icons/flags/PAL-I.png:/icons/flags/PAL-I.png - PAL-IN (India) - - - :/icons/flags/PAL-IN.png:/icons/flags/PAL-IN.png - PAL-M (Europe/Australia) - - - :/icons/flags/PAL-M.png:/icons/flags/PAL-M.png - PAL-NL (Netherlands) - - - :/icons/flags/PAL-NL.png:/icons/flags/PAL-NL.png - PAL-NO (Norway) - - - :/icons/flags/PAL-NO.png:/icons/flags/PAL-NO.png - PAL-P (Portugal) - - - :/icons/flags/PAL-P.png:/icons/flags/PAL-P.png - PAL-R (Russia) - - - :/icons/flags/PAL-R.png:/icons/flags/PAL-R.png - PAL-S (Spain) - - - :/icons/flags/PAL-S.png:/icons/flags/PAL-S.png - PAL-SC (Scandinavia) - - - :/icons/flags/PAL-SC.png:/icons/flags/PAL-SC.png - PAL-SW (Sweden) - - - :/icons/flags/PAL-SW.png:/icons/flags/PAL-SW.png - PAL-SWI (Switzerland) - - - :/icons/flags/PAL-SWI.png:/icons/flags/PAL-SWI.png - PAL-UK (United Kingdom) - - - :/icons/flags/PAL-UK.png:/icons/flags/PAL-UK.png - @@ -392,56 +276,32 @@ Unknown - - - :/icons/star-0.png:/icons/star-0.png - Not Bootable - - - :/icons/star-1.png:/icons/star-1.png - Reaches Intro - - - :/icons/star-2.png:/icons/star-2.png - Reaches Menu - - - :/icons/star-3.png:/icons/star-3.png - In-Game - - - :/icons/star-4.png:/icons/star-4.png - Perfect - - - :/icons/star-5.png:/icons/star-5.png - - + z diff --git a/pcsx2-qt/resources/resources.qrc b/pcsx2-qt/resources/resources.qrc index 8d62b8f06b..cfbe373172 100644 --- a/pcsx2-qt/resources/resources.qrc +++ b/pcsx2-qt/resources/resources.qrc @@ -1,7 +1,6 @@ icons/address-book-new-22.png - icons/AppIconLarge.png icons/applications-system-24.png icons/black/svg/artboard-2-line.svg icons/black/svg/book-open-line.svg @@ -45,46 +44,11 @@ icons/black/svg/window-2-line.svg icons/black/index.theme icons/discord.png - icons/flags/NTSC-B.png - icons/flags/NTSC-C.png - icons/flags/NTSC-HK.png - icons/flags/NTSC-J.png - icons/flags/NTSC-K.png - icons/flags/NTSC-T.png - icons/flags/NTSC-U.png - icons/flags/Other.png - icons/flags/PAL-A.png - icons/flags/PAL-AF.png - icons/flags/PAL-AU.png - icons/flags/PAL-BE.png - icons/flags/PAL-E.png - icons/flags/PAL-F.png - icons/flags/PAL-FI.png - icons/flags/PAL-G.png - icons/flags/PAL-GR.png - icons/flags/PAL-I.png - icons/flags/PAL-IN.png - icons/flags/PAL-M.png - icons/flags/PAL-NL.png - icons/flags/PAL-NO.png - icons/flags/PAL-P.png - icons/flags/PAL-R.png - icons/flags/PAL-S.png - icons/flags/PAL-SC.png - icons/flags/PAL-SW.png - icons/flags/PAL-SWI.png - icons/flags/PAL-UK.png icons/logo.png icons/media-optical-24.png icons/media-optical-gear-24.png icons/media-optical.png icons/QT.png - icons/star-0.png - icons/star-1.png - icons/star-2.png - icons/star-3.png - icons/star-4.png - icons/star-5.png icons/update.png icons/white/svg/artboard-2-line.svg icons/white/svg/book-open-line.svg