From 545ac81d81b92bba22dbc3fe8fde8de7f9590d94 Mon Sep 17 00:00:00 2001
From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
Date: Mon, 2 Dec 2024 19:41:51 +0200
Subject: [PATCH] Qt: Add SkyEmu duck icon (#657)

---
 CMakeLists.txt                 |   2 +-
 docs/img/skyemu_icon.png       | Bin 0 -> 15327 bytes
 include/frontend_settings.hpp  |   1 +
 src/frontend_settings.cpp      |   7 +++----
 src/panda_qt/config_window.cpp |   2 ++
 5 files changed, 7 insertions(+), 5 deletions(-)
 create mode 100644 docs/img/skyemu_icon.png

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 33faba5f..224fea7c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -698,7 +698,7 @@ if(NOT BUILD_HYDRA_CORE AND NOT BUILD_LIBRETRO_CORE)
                 docs/img/rsob_icon.png docs/img/rstarstruck_icon.png docs/img/rpog_icon.png docs/img/rsyn_icon.png
                 docs/img/settings_icon.png docs/img/display_icon.png docs/img/speaker_icon.png
                 docs/img/sparkling_icon.png docs/img/battery_icon.png docs/img/sdcard_icon.png
-                docs/img/rnap_icon.png docs/img/rcow_icon.png
+                docs/img/rnap_icon.png docs/img/rcow_icon.png docs/img/skyemu_icon.png
         )
     else()
         set(FRONTEND_SOURCE_FILES src/panda_sdl/main.cpp src/panda_sdl/frontend_sdl.cpp src/panda_sdl/mappings.cpp)
diff --git a/docs/img/skyemu_icon.png b/docs/img/skyemu_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5f3b9d4ca4f285e0b79f0c859514efb4e6de977
GIT binary patch
literal 15327
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

literal 0
HcmV?d00001

diff --git a/include/frontend_settings.hpp b/include/frontend_settings.hpp
index aaf9eaf0..1a78ab66 100644
--- a/include/frontend_settings.hpp
+++ b/include/frontend_settings.hpp
@@ -19,6 +19,7 @@ struct FrontendSettings {
 		Rsyn = 1,
 		Rnap = 2,
 		Rcow = 3,
+		SkyEmu = 4,
 	};
 
 	Theme theme = Theme::Dark;
diff --git a/src/frontend_settings.cpp b/src/frontend_settings.cpp
index 16bae361..498ba500 100644
--- a/src/frontend_settings.cpp
+++ b/src/frontend_settings.cpp
@@ -38,10 +38,8 @@ FrontendSettings::WindowIcon FrontendSettings::iconFromString(std::string inStri
 	std::transform(inString.begin(), inString.end(), inString.begin(), [](unsigned char c) { return std::tolower(c); });
 
 	static const std::unordered_map<std::string, WindowIcon> map = {
-		{"rpog", WindowIcon::Rpog},
-		{"rsyn", WindowIcon::Rsyn},
-		{"rcow", WindowIcon::Rcow},
-		{"rnap", WindowIcon::Rnap},
+		{"rpog", WindowIcon::Rpog}, {"rsyn", WindowIcon::Rsyn},     {"rcow", WindowIcon::Rcow},
+		{"rnap", WindowIcon::Rnap}, {"skyemu", WindowIcon::SkyEmu},
 	};
 
 	if (auto search = map.find(inString); search != map.end()) {
@@ -57,6 +55,7 @@ const char* FrontendSettings::iconToString(WindowIcon icon) {
 		case WindowIcon::Rsyn: return "rsyn";
 		case WindowIcon::Rcow: return "rcow";
 		case WindowIcon::Rnap: return "rnap";
+		case WindowIcon::SkyEmu: return "skyemu";
 
 		case WindowIcon::Rpog:
 		default: return "rpog";
diff --git a/src/panda_qt/config_window.cpp b/src/panda_qt/config_window.cpp
index 92fa0741..60ec3ed2 100644
--- a/src/panda_qt/config_window.cpp
+++ b/src/panda_qt/config_window.cpp
@@ -85,6 +85,7 @@ ConfigWindow::ConfigWindow(ConfigCallback configCallback, MainWindowCallback win
 	iconSelect->addItem(tr("Happy panda (colourful)"));
 	iconSelect->addItem(tr("Sleepy panda"));
 	iconSelect->addItem(tr("Cow panda"));
+	iconSelect->addItem(tr("The penguin from SkyEmu"));
 	iconSelect->setCurrentIndex(static_cast<int>(config.frontendSettings.icon));
 
 	connect(iconSelect, &QComboBox::currentIndexChanged, this, [&](int index) {
@@ -398,6 +399,7 @@ void ConfigWindow::setIcon(WindowIcon icon) {
 		case WindowIcon::Rsyn: updateIcon(":/docs/img/rsyn_icon.png"); break;
 		case WindowIcon::Rnap: updateIcon(":/docs/img/rnap_icon.png"); break;
 		case WindowIcon::Rcow: updateIcon(":/docs/img/rcow_icon.png"); break;
+		case WindowIcon::SkyEmu: updateIcon(":/docs/img/skyemu_icon.png"); break;
 
 		case WindowIcon::Rpog:
 		default: updateIcon(":/docs/img/rpog_icon.png"); break;