mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-07 15:43:55 +02:00
Replaced DropdownMenu with PopupMenu in top bar of sections.
This commit is contained in:
parent
c520cb777c
commit
77659c64e0
3 changed files with 17 additions and 32 deletions
|
@ -25,7 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "core/application.h"
|
#include "core/application.h"
|
||||||
#include "core/core_settings.h"
|
#include "core/core_settings.h"
|
||||||
#include "ui/widgets/buttons.h"
|
#include "ui/widgets/buttons.h"
|
||||||
#include "ui/widgets/dropdown_menu.h"
|
#include "ui/widgets/popup_menu.h"
|
||||||
#include "ui/effects/radial_animation.h"
|
#include "ui/effects/radial_animation.h"
|
||||||
#include "ui/toasts/common_toasts.h"
|
#include "ui/toasts/common_toasts.h"
|
||||||
#include "ui/boxes/report_box.h" // Ui::ReportReason
|
#include "ui/boxes/report_box.h" // Ui::ReportReason
|
||||||
|
@ -283,8 +283,8 @@ bool TopBarWidget::createMenu(not_null<Ui::IconButton*> button) {
|
||||||
if (!_activeChat.key || _menu) {
|
if (!_activeChat.key || _menu) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
_menu.create(parentWidget(), st::dropdownMenuWithIcons);
|
_menu.create(this, st::popupMenuWithIcons);
|
||||||
_menu->setHiddenCallback([
|
_menu->setDestroyedCallback([
|
||||||
weak = Ui::MakeWeak(this),
|
weak = Ui::MakeWeak(this),
|
||||||
weakButton = Ui::MakeWeak(button),
|
weakButton = Ui::MakeWeak(button),
|
||||||
menu = _menu.data()] {
|
menu = _menu.data()] {
|
||||||
|
@ -296,17 +296,7 @@ bool TopBarWidget::createMenu(not_null<Ui::IconButton*> button) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
_menu->setShowStartCallback(crl::guard(this, [=, menu = _menu.data()] {
|
button->setForceRippled(true);
|
||||||
if (_menu == menu) {
|
|
||||||
button->setForceRippled(true);
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
_menu->setHideStartCallback(crl::guard(this, [=, menu = _menu.data()] {
|
|
||||||
if (_menu == menu) {
|
|
||||||
button->setForceRippled(false);
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
button->installEventFilter(_menu);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -323,10 +313,10 @@ void TopBarWidget::showPeerMenu() {
|
||||||
if (_menu->empty()) {
|
if (_menu->empty()) {
|
||||||
_menu.destroy();
|
_menu.destroy();
|
||||||
} else {
|
} else {
|
||||||
_menu->moveToRight(
|
_menu->setForcedOrigin(Ui::PanelAnimation::Origin::TopRight);
|
||||||
(parentWidget()->width() - width()) + st::topBarMenuPosition.x(),
|
_menu->popup(mapToGlobal(QPoint(
|
||||||
st::topBarMenuPosition.y());
|
width() + st::topBarMenuPosition.x(),
|
||||||
_menu->showAnimated(Ui::PanelAnimation::Origin::TopRight);
|
st::topBarMenuPosition.y())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -358,14 +348,10 @@ void TopBarWidget::showGroupCallMenu(not_null<PeerData*> peer) {
|
||||||
: tr::lng_menu_start_group_call_with(tr::now),
|
: tr::lng_menu_start_group_call_with(tr::now),
|
||||||
[=] { callback({ .rtmpNeeded = true }); },
|
[=] { callback({ .rtmpNeeded = true }); },
|
||||||
&st::menuIconStartStreamWith);
|
&st::menuIconStartStreamWith);
|
||||||
_menu->moveToRight(
|
_menu->setForcedOrigin(Ui::PanelAnimation::Origin::TopRight);
|
||||||
(parentWidget()->width() - width())
|
_menu->popup(mapToGlobal(QPoint(
|
||||||
+ (width()
|
_groupCall->x() + _groupCall->width() + st::topBarMenuGroupCallSkip,
|
||||||
- _groupCall->x()
|
st::topBarMenuPosition.y())));
|
||||||
- _groupCall->width()
|
|
||||||
- st::topBarMenuGroupCallSkip),
|
|
||||||
st::topBarMenuPosition.y());
|
|
||||||
_menu->showAnimated(Ui::PanelAnimation::Origin::TopRight);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TopBarWidget::toggleInfoSection() {
|
void TopBarWidget::toggleInfoSection() {
|
||||||
|
@ -729,8 +715,7 @@ void TopBarWidget::setActiveChat(
|
||||||
updateUnreadBadge();
|
updateUnreadBadge();
|
||||||
refreshInfoButton();
|
refreshInfoButton();
|
||||||
if (_menu) {
|
if (_menu) {
|
||||||
_menuToggle->removeEventFilter(_menu);
|
_menu = nullptr;
|
||||||
_menu->hideFast();
|
|
||||||
}
|
}
|
||||||
updateOnlineDisplay();
|
updateOnlineDisplay();
|
||||||
updateControlsVisibility();
|
updateControlsVisibility();
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace Ui {
|
||||||
class AbstractButton;
|
class AbstractButton;
|
||||||
class RoundButton;
|
class RoundButton;
|
||||||
class IconButton;
|
class IconButton;
|
||||||
class DropdownMenu;
|
class PopupMenu;
|
||||||
class UnreadBadge;
|
class UnreadBadge;
|
||||||
class InfiniteRadialAnimation;
|
class InfiniteRadialAnimation;
|
||||||
enum class ReportReason;
|
enum class ReportReason;
|
||||||
|
@ -179,7 +179,7 @@ private:
|
||||||
object_ptr<Ui::IconButton> _search;
|
object_ptr<Ui::IconButton> _search;
|
||||||
object_ptr<Ui::IconButton> _infoToggle;
|
object_ptr<Ui::IconButton> _infoToggle;
|
||||||
object_ptr<Ui::IconButton> _menuToggle;
|
object_ptr<Ui::IconButton> _menuToggle;
|
||||||
object_ptr<Ui::DropdownMenu> _menu = { nullptr };
|
object_ptr<Ui::PopupMenu> _menu = { nullptr };
|
||||||
|
|
||||||
object_ptr<TWidget> _membersShowArea = { nullptr };
|
object_ptr<TWidget> _membersShowArea = { nullptr };
|
||||||
rpl::event_stream<bool> _membersShowAreaActive;
|
rpl::event_stream<bool> _membersShowAreaActive;
|
||||||
|
|
|
@ -664,8 +664,8 @@ historyTopBarBack: IconButton(infoTopBarBack) {
|
||||||
width: 52px;
|
width: 52px;
|
||||||
}
|
}
|
||||||
topBarHeight: 54px;
|
topBarHeight: 54px;
|
||||||
topBarMenuPosition: point(-2px, 35px);
|
topBarMenuPosition: point(-6px, 45px);
|
||||||
topBarMenuGroupCallSkip: 40px;
|
topBarMenuGroupCallSkip: 20px;
|
||||||
topBarDuration: 200;
|
topBarDuration: 200;
|
||||||
topBarBackward: icon {{ "title_back", menuIconFg }};
|
topBarBackward: icon {{ "title_back", menuIconFg }};
|
||||||
topBarForwardAlpha: 0.6;
|
topBarForwardAlpha: 0.6;
|
||||||
|
|
Loading…
Add table
Reference in a new issue