[Improvement] Do not hide "mark as read" under Alt+Shift modfiers
This commit is contained in:
parent
66e9f5ba04
commit
85f3b754e3
1 changed files with 20 additions and 4 deletions
|
|
@ -26,6 +26,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "ui/wrap/vertical_layout_reorder.h"
|
#include "ui/wrap/vertical_layout_reorder.h"
|
||||||
#include "ui/text/format_values.h" // Ui::FormatPhone
|
#include "ui/text/format_values.h" // Ui::FormatPhone
|
||||||
#include "ui/text/text_utilities.h"
|
#include "ui/text/text_utilities.h"
|
||||||
|
#include "ui/text/text_options.h"
|
||||||
#include "ui/special_buttons.h"
|
#include "ui/special_buttons.h"
|
||||||
#include "ui/empty_userpic.h"
|
#include "ui/empty_userpic.h"
|
||||||
#include "dialogs/ui/dialogs_layout.h"
|
#include "dialogs/ui/dialogs_layout.h"
|
||||||
|
|
@ -343,6 +344,7 @@ void MainMenu::AccountButton::paintEvent(QPaintEvent *e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainMenu::AccountButton::contextMenuEvent(QContextMenuEvent *e) {
|
void MainMenu::AccountButton::contextMenuEvent(QContextMenuEvent *e) {
|
||||||
|
/*
|
||||||
if (!_menu && IsAltShift(e->modifiers())) {
|
if (!_menu && IsAltShift(e->modifiers())) {
|
||||||
_menu = base::make_unique_q<Ui::PopupMenu>(
|
_menu = base::make_unique_q<Ui::PopupMenu>(
|
||||||
this,
|
this,
|
||||||
|
|
@ -360,15 +362,29 @@ void MainMenu::AccountButton::contextMenuEvent(QContextMenuEvent *e) {
|
||||||
_menu->popup(QCursor::pos());
|
_menu->popup(QCursor::pos());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (&_session->account() == &Core::App().activeAccount() || _menu) {
|
*/
|
||||||
|
if (_menu) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const auto isActiveAccount = &_session->account() == &Core::App().activeAccount();
|
||||||
_menu = base::make_unique_q<Ui::PopupMenu>(
|
_menu = base::make_unique_q<Ui::PopupMenu>(
|
||||||
this,
|
this,
|
||||||
st::popupMenuWithIcons);
|
st::popupMenuWithIcons);
|
||||||
_menu->addAction(tr::lng_menu_activate(tr::now), crl::guard(this, [=] {
|
if (!isActiveAccount) {
|
||||||
Core::App().domain().activate(&_session->account());
|
_menu->addAction(tr::lng_menu_activate(tr::now), crl::guard(this, [=] {
|
||||||
}), &st::menuIconProfile);
|
Core::App().domain().activate(&_session->account());
|
||||||
|
}), &st::menuIconProfile);
|
||||||
|
}
|
||||||
|
const auto addAction = [&](
|
||||||
|
const QString &text,
|
||||||
|
Fn<void()> callback,
|
||||||
|
const style::icon *icon) {
|
||||||
|
return _menu->addAction(
|
||||||
|
text,
|
||||||
|
crl::guard(this, std::move(callback)),
|
||||||
|
icon);
|
||||||
|
};
|
||||||
|
MenuAddMarkAsReadAllChatsAction(&_session->data(), addAction);
|
||||||
_menu->addAction(tr::lng_settings_logout(tr::now), crl::guard(this, [=] {
|
_menu->addAction(tr::lng_settings_logout(tr::now), crl::guard(this, [=] {
|
||||||
const auto session = _session;
|
const auto session = _session;
|
||||||
const auto callback = [=](Fn<void()> &&close) {
|
const auto callback = [=](Fn<void()> &&close) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue