From 7705696d54058825f933abfe880a83f0bda9e829 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 24 Nov 2017 20:06:35 +0400 Subject: [PATCH] Hide all PopupMenu when enabling local passcode. --- Telegram/SourceFiles/ui/widgets/popup_menu.cpp | 7 +++++++ Telegram/SourceFiles/ui/widgets/popup_menu.h | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/ui/widgets/popup_menu.cpp b/Telegram/SourceFiles/ui/widgets/popup_menu.cpp index 4782ca5b5..e56680915 100644 --- a/Telegram/SourceFiles/ui/widgets/popup_menu.cpp +++ b/Telegram/SourceFiles/ui/widgets/popup_menu.cpp @@ -21,6 +21,7 @@ #include "platform/platform_specific.h" #include "application.h" #include "mainwindow.h" +#include "messenger.h" #include "lang/lang_keys.h" namespace Ui { @@ -45,6 +46,12 @@ PopupMenu::PopupMenu(QWidget*, QMenu *menu, const style::PopupMenu &st) : TWidge } void PopupMenu::init() { + subscribe(Messenger::Instance().passcodedChanged(), [this] { + if (App::passcoded()) { + hideMenu(true); + } + }); + _menu->setResizedCallback([this] { handleMenuResize(); }); _menu->setActivatedCallback([this](QAction *action, int actionTop, TriggeredSource source) { handleActivated(action, actionTop, source); diff --git a/Telegram/SourceFiles/ui/widgets/popup_menu.h b/Telegram/SourceFiles/ui/widgets/popup_menu.h index aed4ac201..051e90640 100644 --- a/Telegram/SourceFiles/ui/widgets/popup_menu.h +++ b/Telegram/SourceFiles/ui/widgets/popup_menu.h @@ -23,7 +23,7 @@ namespace Ui { -class PopupMenu : public TWidget { +class PopupMenu : public TWidget, private base::Subscriber { public: PopupMenu(QWidget*, const style::PopupMenu &st = st::defaultPopupMenu); PopupMenu(QWidget*, QMenu *menu, const style::PopupMenu &st = st::defaultPopupMenu);