Replaced DropdownMenu with PopupMenu in profile info.

This commit is contained in:
23rd 2022-03-29 02:52:22 +03:00 committed by John Preston
parent 8fcd07863a
commit 3356168745
2 changed files with 11 additions and 24 deletions

View File

@ -19,7 +19,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "ui/widgets/discrete_sliders.h"
#include "ui/widgets/buttons.h"
#include "ui/widgets/shadow.h"
#include "ui/widgets/dropdown_menu.h"
#include "ui/widgets/popup_menu.h"
#include "ui/wrap/fade_wrap.h"
#include "ui/search_field_controller.h"
#include "core/application.h"
@ -489,31 +489,20 @@ void WrapWidget::addProfileCallsButton() {
void WrapWidget::showTopBarMenu() {
if (_topBarMenu) {
_topBarMenu->hideAnimated(
Ui::InnerDropdown::HideOption::IgnoreShow);
_topBarMenu->hideMenu(true);
return;
}
_topBarMenu = base::make_unique_q<Ui::DropdownMenu>(
_topBarMenu = base::make_unique_q<Ui::PopupMenu>(
this,
st::dropdownMenuWithIcons);
st::popupMenuWithIcons);
_topBarMenu->setHiddenCallback([this] {
_topBarMenu->setDestroyedCallback([this] {
InvokeQueued(this, [this] { _topBarMenu = nullptr; });
if (auto toggle = _topBarMenuToggle.get()) {
toggle->setForceRippled(false);
}
});
_topBarMenu->setShowStartCallback([this] {
if (auto toggle = _topBarMenuToggle.get()) {
toggle->setForceRippled(true);
}
});
_topBarMenu->setHideStartCallback([this] {
if (auto toggle = _topBarMenuToggle.get()) {
toggle->setForceRippled(false);
}
});
_topBarMenuToggle->installEventFilter(_topBarMenu.get());
_topBarMenuToggle->setForceRippled(true);
const auto addAction = Window::PeerMenuCallback([=](
Window::PeerMenuCallback::Args a) {
@ -547,11 +536,9 @@ void WrapWidget::showTopBarMenu() {
_topBarMenu = nullptr;
return;
}
auto position = (wrap() == Wrap::Layer)
? st::infoLayerTopBarMenuPosition
: st::infoTopBarMenuPosition;
_topBarMenu->moveToRight(position.x(), position.y());
_topBarMenu->showAnimated(Ui::PanelAnimation::Origin::TopRight);
_topBarMenu->setForcedOrigin(Ui::PanelAnimation::Origin::TopRight);
_topBarMenu->popup(_topBarMenuToggle->mapToGlobal(
st::infoLayerTopBarMenuPosition));
}
void WrapWidget::deleteAllDownloads() {

View File

@ -18,7 +18,7 @@ namespace Ui {
class SettingsSlider;
class FadeShadow;
class PlainShadow;
class DropdownMenu;
class PopupMenu;
class IconButton;
} // namespace Ui
@ -212,7 +212,7 @@ private:
object_ptr<Ui::FadeShadow> _topShadow;
base::unique_qptr<Ui::IconButton> _topBarMenuToggle;
base::unique_qptr<Ui::DropdownMenu> _topBarMenu;
base::unique_qptr<Ui::PopupMenu> _topBarMenu;
// Tab _tab = Tab::Profile;
// std::shared_ptr<ContentMemento> _anotherTabMemento;