From a3e648573923e9880787de28df102ba9cc864de0 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Wed, 2 Dec 2020 08:02:34 +0100 Subject: [PATCH] Respect DE icon for app. --- src/librssguard/gui/dialogs/formmain.cpp | 1 + src/librssguard/miscellaneous/application.cpp | 11 +++++++++++ src/librssguard/miscellaneous/application.h | 2 ++ src/rssguard/main.cpp | 2 +- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/librssguard/gui/dialogs/formmain.cpp b/src/librssguard/gui/dialogs/formmain.cpp index 22ffd26fe..6ec4e62d0 100755 --- a/src/librssguard/gui/dialogs/formmain.cpp +++ b/src/librssguard/gui/dialogs/formmain.cpp @@ -58,6 +58,7 @@ FormMain::FormMain(QWidget* parent, Qt::WindowFlags f) m_ui->setupUi(this); qApp->setMainForm(this); + setWindowIcon(qApp->desktopAwareIcon()); setWindowTitle(APP_LONG_NAME); #if defined (USE_WEBENGINE) diff --git a/src/librssguard/miscellaneous/application.cpp b/src/librssguard/miscellaneous/application.cpp index bb2781339..e0777620c 100755 --- a/src/librssguard/miscellaneous/application.cpp +++ b/src/librssguard/miscellaneous/application.cpp @@ -426,6 +426,17 @@ NetworkUrlInterceptor* Application::urlIinterceptor() { #endif +QIcon Application::desktopAwareIcon() const { + auto from_theme = m_icons->fromTheme(APP_LOW_NAME); + + if (!from_theme.isNull()) { + return from_theme; + } + else { + return QIcon(APP_ICON_PATH); + } +} + void Application::showTrayIcon() { // Display tray icon if it is enabled and available. if (SystemTrayIcon::isSystemTrayActivated()) { diff --git a/src/librssguard/miscellaneous/application.h b/src/librssguard/miscellaneous/application.h index 314586783..43ac26060 100755 --- a/src/librssguard/miscellaneous/application.h +++ b/src/librssguard/miscellaneous/application.h @@ -85,6 +85,8 @@ class RSSGUARD_DLLSPEC Application : public QtSingleApplication { NetworkUrlInterceptor* urlIinterceptor(); #endif + QIcon desktopAwareIcon() const; + QString tempFolder() const; QString documentsFolder() const; QString homeFolder() const; diff --git a/src/rssguard/main.cpp b/src/rssguard/main.cpp index 29e74e4dd..3925b2122 100755 --- a/src/rssguard/main.cpp +++ b/src/rssguard/main.cpp @@ -69,7 +69,7 @@ int main(int argc, char* argv[]) { Application::setApplicationName(APP_NAME); Application::setApplicationVersion(APP_VERSION); Application::setOrganizationDomain(APP_URL); - Application::setWindowIcon(QIcon(APP_ICON_PATH)); + Application::setWindowIcon(qApp->desktopAwareIcon()); qApp->reactOnForeignNotifications();