[Improvement] Do not hide "mark as read" under Alt+Shift modfiers

This commit is contained in:
Eric Kotato 2022-09-11 06:25:04 +03:00
parent 66e9f5ba04
commit 85f3b754e3

View file

@ -26,6 +26,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "ui/wrap/vertical_layout_reorder.h"
#include "ui/text/format_values.h" // Ui::FormatPhone
#include "ui/text/text_utilities.h"
#include "ui/text/text_options.h"
#include "ui/special_buttons.h"
#include "ui/empty_userpic.h"
#include "dialogs/ui/dialogs_layout.h"
@ -343,6 +344,7 @@ void MainMenu::AccountButton::paintEvent(QPaintEvent *e) {
}
void MainMenu::AccountButton::contextMenuEvent(QContextMenuEvent *e) {
/*
if (!_menu && IsAltShift(e->modifiers())) {
_menu = base::make_unique_q<Ui::PopupMenu>(
this,
@ -360,15 +362,29 @@ void MainMenu::AccountButton::contextMenuEvent(QContextMenuEvent *e) {
_menu->popup(QCursor::pos());
return;
}
if (&_session->account() == &Core::App().activeAccount() || _menu) {
*/
if (_menu) {
return;
}
const auto isActiveAccount = &_session->account() == &Core::App().activeAccount();
_menu = base::make_unique_q<Ui::PopupMenu>(
this,
st::popupMenuWithIcons);
_menu->addAction(tr::lng_menu_activate(tr::now), crl::guard(this, [=] {
Core::App().domain().activate(&_session->account());
}), &st::menuIconProfile);
if (!isActiveAccount) {
_menu->addAction(tr::lng_menu_activate(tr::now), crl::guard(this, [=] {
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, [=] {
const auto session = _session;
const auto callback = [=](Fn<void()> &&close) {