From 2a0d189ee22d8573bd4f9f0971ef1aa27a12f02d Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 23 Jun 2020 13:13:22 +0400 Subject: [PATCH] Allow badge in main menu button. --- ui/layers/layer_widget.cpp | 2 +- ui/widgets/side_bar_button.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ui/layers/layer_widget.cpp b/ui/layers/layer_widget.cpp index 1dd165d..66a47db 100644 --- a/ui/layers/layer_widget.cpp +++ b/ui/layers/layer_widget.cpp @@ -473,7 +473,7 @@ void LayerStackWidget::closeLayer(not_null layer) { return; } - if (layer == _specialLayer) { + if (layer == _specialLayer || layer == _mainMenu) { hideAll(anim::type::normal); } else if (layer == currentLayer()) { if (_layers.size() == 1) { diff --git a/ui/widgets/side_bar_button.cpp b/ui/widgets/side_bar_button.cpp index 193d23a..654be8c 100644 --- a/ui/widgets/side_bar_button.cpp +++ b/ui/widgets/side_bar_button.cpp @@ -145,7 +145,6 @@ const style::icon &SideBarButton::computeIcon() const { void SideBarButton::validateIconCache() { Expects(_st.iconPosition.x() < 0); - Expects(_st.iconPosition.y() >= 0); if (!(_active ? _iconCacheActive : _iconCache).isNull()) { return; @@ -173,7 +172,10 @@ void SideBarButton::validateIconCache() { - st::defaultScrollArea.width - (width() / 2) + (icon.width() / 2))); - const auto y = _st.badgePosition.y() - _st.iconPosition.y(); + const auto top = (_st.iconPosition.y() >= 0) + ? _st.iconPosition.y() + : (height() - icon.height()) / 2; + const auto y = _st.badgePosition.y() - top; const auto r = _st.badgeHeight / 2.; p.drawRoundedRect(x, y, _iconCacheBadgeWidth, _st.badgeHeight, r, r); }