From 913b5c8be6619c5bf75c639eba5849dbdec98b75 Mon Sep 17 00:00:00 2001 From: arm64v8a <48624112+arm64v8a@users.noreply.github.com> Date: Sat, 24 Sep 2022 23:03:44 +0800 Subject: [PATCH] fix GetIcon --- ui/TrayIcon.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/ui/TrayIcon.cpp b/ui/TrayIcon.cpp index f0a367a..4eac5b8 100644 --- a/ui/TrayIcon.cpp +++ b/ui/TrayIcon.cpp @@ -3,15 +3,22 @@ #include QIcon TrayIcon::GetIcon(TrayIcon::TrayIconStatus status) { - auto icon = QIcon::fromTheme("nekoray"); - auto pixmap = QPixmap("../nekoray.png"); - if (!pixmap.isNull()) icon = QIcon(pixmap); - pixmap = QPixmap("./nekoray.png"); - if (!pixmap.isNull()) icon = QIcon(pixmap); + QPixmap pixmap; - if (status == TrayIconStatus::NONE) return icon; + // software embedded icon + auto pixmap_read = QPixmap(":/nekoray/nekoray.png"); + if (!pixmap_read.isNull()) pixmap = pixmap_read; + + // software pack icon + pixmap_read = QPixmap("../nekoray.png"); + if (!pixmap_read.isNull()) pixmap = pixmap_read; + + // user icon + pixmap_read = QPixmap("./nekoray.png"); + if (!pixmap_read.isNull()) pixmap = pixmap_read; + + if (status == TrayIconStatus::NONE) return pixmap; - pixmap = icon.pixmap(icon.availableSizes().first()); auto p = QPainter(&pixmap); auto side = pixmap.width();