From 511805199f84b6ae0ceec2df23c3c8d7792b1357 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 23 Mar 2022 20:22:47 +0300 Subject: [PATCH] Added ability to check are windows active for tray menu. --- Telegram/SourceFiles/core/application.cpp | 10 ++++++++++ Telegram/SourceFiles/core/application.h | 1 + 2 files changed, 11 insertions(+) diff --git a/Telegram/SourceFiles/core/application.cpp b/Telegram/SourceFiles/core/application.cpp index eb2c21604..2cb67dd26 100644 --- a/Telegram/SourceFiles/core/application.cpp +++ b/Telegram/SourceFiles/core/application.cpp @@ -427,6 +427,16 @@ void Application::clearEmojiSourceImages() { }); } +bool Application::isActiveForTrayMenu() const { + if (_primaryWindow) { + return _primaryWindow->widget()->isActiveForTrayMenu(); + } + return ranges::any_of(ranges::views::values(_secondaryWindows), [=]( + const std::unique_ptr &controller) { + return controller->widget()->isActiveForTrayMenu(); + }); +} + bool Application::hideMediaView() { if (_mediaView && !_mediaView->isHidden()) { _mediaView->hide(); diff --git a/Telegram/SourceFiles/core/application.h b/Telegram/SourceFiles/core/application.h index 3200e8b87..cff4bea88 100644 --- a/Telegram/SourceFiles/core/application.h +++ b/Telegram/SourceFiles/core/application.h @@ -163,6 +163,7 @@ public: [[nodiscard]] QWidget *getFileDialogParent(); void notifyFileDialogShown(bool shown); void checkSystemDarkMode(); + [[nodiscard]] bool isActiveForTrayMenu() const; // Media view interface. void checkMediaViewActivation();