Hide all PopupMenu when enabling local passcode.

This commit is contained in:
John Preston 2017-11-24 20:06:35 +04:00
parent bb7ab625c1
commit 7705696d54
2 changed files with 8 additions and 1 deletions

View File

@ -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);

View File

@ -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);