diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp index 131c10399..4de06e9f6 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_layout.cpp @@ -144,9 +144,7 @@ int PaintBadges( int pinnedIconTop, bool narrow) { auto initial = right; - if (const auto used = PaintRightButton(p, context)) { - return used - st::dialogsUnreadPadding; - } else if (badgesState.unread + if (badgesState.unread && !badgesState.unreadCounter && context.st->unreadMarkDiameter > 0) { const auto d = context.st->unreadMarkDiameter; @@ -188,6 +186,8 @@ int PaintBadges( : QString::number(badgesState.unreadCounter); const auto badge = PaintUnreadBadge(p, counter, right, top, st); right -= badge.width() + st.padding; + } else if (const auto used = PaintRightButton(p, context)) { + return used - st::dialogsUnreadPadding; } else if (displayPinnedIcon) { const auto &icon = ThreeStateIcon( st::dialogsPinnedIcon, diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_suggestions.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_suggestions.cpp index 88a5faea4..e6b166802 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_suggestions.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_suggestions.cpp @@ -261,7 +261,7 @@ bool RecentRow::refreshBadge() { } QSize RecentRow::rightActionSize() const { - if (_mainAppText) { + if (_mainAppText && _badgeSize.isEmpty()) { return QSize( _mainAppText->maxWidth() + _mainAppText->minHeight(), st::dialogRowOpenBotHeight); @@ -270,7 +270,7 @@ QSize RecentRow::rightActionSize() const { } QMargins RecentRow::rightActionMargins() const { - if (_mainAppText) { + if (_mainAppText && _badgeSize.isEmpty()) { return QMargins( 0, st::dialogRowOpenBotRecentTop, @@ -292,7 +292,7 @@ void RecentRow::rightActionPaint( int outerWidth, bool selected, bool actionSelected) { - if (_mainAppText) { + if (_mainAppText && _badgeSize.isEmpty()) { const auto size = RecentRow::rightActionSize(); p.setPen(Qt::NoPen); p.setBrush(actionSelected @@ -335,13 +335,13 @@ void RecentRow::rightActionPaint( } bool RecentRow::rightActionDisabled() const { - return !_mainAppText; + return !_mainAppText || !_badgeSize.isEmpty(); } void RecentRow::rightActionAddRipple( QPoint point, Fn updateCallback) { - if (!_mainAppText) { + if (!_mainAppText || !_badgeSize.isEmpty()) { return; } if (!_actionRipple) {