From b14c2878b31814f3f3e803c2561b6987f86eaa2f Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Tue, 11 Mar 2025 05:24:55 +0000 Subject: [PATCH] Revert "Move icon name getter to cross-platform header" This reverts commit d9318c993563b8090a0c0a035bb60de7022adee7. --- Telegram/SourceFiles/core/application.cpp | 2 ++ Telegram/SourceFiles/core/utils.h | 13 ------------- .../platform/linux/notifications_manager_linux.cpp | 7 +++++-- .../SourceFiles/platform/linux/specific_linux.cpp | 13 +++++++++++-- Telegram/SourceFiles/platform/linux/tray_linux.cpp | 2 +- Telegram/SourceFiles/platform/mac/specific_mac.h | 4 ++++ Telegram/SourceFiles/platform/platform_specific.h | 1 + Telegram/SourceFiles/platform/win/specific_win.h | 4 ++++ Telegram/SourceFiles/window/main_window.cpp | 2 +- 9 files changed, 29 insertions(+), 19 deletions(-) diff --git a/Telegram/SourceFiles/core/application.cpp b/Telegram/SourceFiles/core/application.cpp index 44dd9df172..f44a792f75 100644 --- a/Telegram/SourceFiles/core/application.cpp +++ b/Telegram/SourceFiles/core/application.cpp @@ -93,6 +93,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include #include +#include + namespace Core { namespace { diff --git a/Telegram/SourceFiles/core/utils.h b/Telegram/SourceFiles/core/utils.h index 325f6ccc43..9d8a3ee622 100644 --- a/Telegram/SourceFiles/core/utils.h +++ b/Telegram/SourceFiles/core/utils.h @@ -21,10 +21,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include #include -#if __has_include() -#include -#endif - #define qsl(s) QStringLiteral(s) namespace base { @@ -34,15 +30,6 @@ inline bool in_range(Value &&value, From &&from, Till &&till) { return (value >= from) && (value < till); } -#if __has_include() -inline QString IconName() { - static const auto Result = KSandbox::isFlatpak() - ? qEnvironmentVariable("FLATPAK_ID") - : u"telegram"_q; - return Result; -} -#endif - inline bool CanReadDirectory(const QString &path) { #ifndef Q_OS_MAC // directory_iterator since 10.15 std::error_code error; diff --git a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp index 47b92fb728..c100e00e06 100644 --- a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp @@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "base/options.h" #include "base/platform/base_platform_info.h" #include "base/platform/linux/base_linux_dbus_utilities.h" +#include "platform/platform_specific.h" #include "core/application.h" #include "core/sandbox.h" #include "core/core_settings.h" @@ -27,6 +28,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include #include +#include + #include #include @@ -547,7 +550,7 @@ void Manager::Private::showNotification( notification.set_body(info.message.toStdString()); notification.set_icon( - Gio::ThemedIcon::new_(base::IconName().toStdString())); + Gio::ThemedIcon::new_(ApplicationIconName().toStdString())); // for chat messages, according to // https://docs.gtk.org/gio/enum.NotificationPriority.html @@ -761,7 +764,7 @@ void Manager::Private::showNotification( AppName.data(), 0, (!hasImage - ? base::IconName().toStdString() + ? ApplicationIconName().toStdString() : std::string()).c_str(), (hasBodyMarkup || info.subtitle.isEmpty() ? info.title.toStdString() diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp index 97255154b1..7a0dd78e9b 100644 --- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp @@ -486,7 +486,7 @@ void InstallLauncher() { if (!QDir(icons).exists()) QDir().mkpath(icons); - const auto icon = icons + base::IconName() + u".png"_q; + const auto icon = icons + ApplicationIconName() + u".png"_q; QFile::remove(icon); if (QFile::copy(u":/gui/art/logo_256.png"_q, icon)) { DEBUG_LOG(("App Info: Icon copied to '%1'").arg(icon)); @@ -684,7 +684,9 @@ void start() { } qputenv("PULSE_PROP_application.name", AppName.utf8()); - qputenv("PULSE_PROP_application.icon_name", base::IconName().toLatin1()); + qputenv( + "PULSE_PROP_application.icon_name", + ApplicationIconName().toUtf8()); GLib::set_prgname(cExeName().toStdString()); GLib::set_application_name(AppName.data()); @@ -755,6 +757,13 @@ QImage DefaultApplicationIcon() { return Window::Logo(); } +QString ApplicationIconName() { + static const auto Result = KSandbox::isFlatpak() + ? qEnvironmentVariable("FLATPAK_ID") + : u"telegram"_q; + return Result; +} + namespace ThirdParty { void start() { diff --git a/Telegram/SourceFiles/platform/linux/tray_linux.cpp b/Telegram/SourceFiles/platform/linux/tray_linux.cpp index 955aab43a4..f7e91e688a 100644 --- a/Telegram/SourceFiles/platform/linux/tray_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/tray_linux.cpp @@ -88,7 +88,7 @@ QIcon IconGraphic::systemIcon() const { const auto candidates = { _new.monochrome ? PanelIconName(_new.counter, _new.muted) : QString(), - base::IconName(), + ApplicationIconName(), }; for (const auto &candidate : candidates) { diff --git a/Telegram/SourceFiles/platform/mac/specific_mac.h b/Telegram/SourceFiles/platform/mac/specific_mac.h index 55d29ca4a0..6c95b507b4 100644 --- a/Telegram/SourceFiles/platform/mac/specific_mac.h +++ b/Telegram/SourceFiles/platform/mac/specific_mac.h @@ -40,6 +40,10 @@ inline uint64 ActivationWindowId(not_null window) { inline void ActivateOtherProcess(uint64 processId, uint64 windowId) { } +inline QString ApplicationIconName() { + return {}; +} + inline QString ExecutablePathForShortcuts() { return cExeDir() + cExeName(); } diff --git a/Telegram/SourceFiles/platform/platform_specific.h b/Telegram/SourceFiles/platform/platform_specific.h index 0e423c2292..55561ef2fe 100644 --- a/Telegram/SourceFiles/platform/platform_specific.h +++ b/Telegram/SourceFiles/platform/platform_specific.h @@ -47,6 +47,7 @@ void AutostartToggle(bool enabled, Fn done = nullptr); void WriteCrashDumpDetails(); void NewVersionLaunched(int oldVersion); [[nodiscard]] QImage DefaultApplicationIcon(); +[[nodiscard]] QString ApplicationIconName(); [[nodiscard]] bool PreventsQuit(Core::QuitReason reason); [[nodiscard]] QString ExecutablePathForShortcuts(); diff --git a/Telegram/SourceFiles/platform/win/specific_win.h b/Telegram/SourceFiles/platform/win/specific_win.h index 99ebc36ad3..12a2f4cb5a 100644 --- a/Telegram/SourceFiles/platform/win/specific_win.h +++ b/Telegram/SourceFiles/platform/win/specific_win.h @@ -43,6 +43,10 @@ void SetWindowPriority(not_null window, uint32 priority); // Activate window with windowId (if found) or the largest priority. void ActivateOtherProcess(uint64 processId, uint64 windowId); +inline QString ApplicationIconName() { + return {}; +} + inline QString ExecutablePathForShortcuts() { return cExeDir() + cExeName(); } diff --git a/Telegram/SourceFiles/window/main_window.cpp b/Telegram/SourceFiles/window/main_window.cpp index 1db1575b29..81e21fb3c4 100644 --- a/Telegram/SourceFiles/window/main_window.cpp +++ b/Telegram/SourceFiles/window/main_window.cpp @@ -219,7 +219,7 @@ QIcon CreateIcon(Main::Session *session, bool returnNullIfDefault) { } const auto iconFromTheme = QIcon::fromTheme( - base::IconName(), + Platform::ApplicationIconName(), result); result = QIcon();