diff --git a/Telegram/Resources/icons/dialogs/mini_arrow.png b/Telegram/Resources/icons/dialogs/mini_arrow.png new file mode 100644 index 000000000..81b5076f8 Binary files /dev/null and b/Telegram/Resources/icons/dialogs/mini_arrow.png differ diff --git a/Telegram/Resources/icons/dialogs/mini_arrow@2x.png b/Telegram/Resources/icons/dialogs/mini_arrow@2x.png new file mode 100644 index 000000000..6e1e87682 Binary files /dev/null and b/Telegram/Resources/icons/dialogs/mini_arrow@2x.png differ diff --git a/Telegram/Resources/icons/dialogs/mini_arrow@3x.png b/Telegram/Resources/icons/dialogs/mini_arrow@3x.png new file mode 100644 index 000000000..36fd0e0c3 Binary files /dev/null and b/Telegram/Resources/icons/dialogs/mini_arrow@3x.png differ diff --git a/Telegram/Resources/icons/dialogs/mini_tag_lock.png b/Telegram/Resources/icons/dialogs/mini_tag_lock.png new file mode 100644 index 000000000..cb1e4d76a Binary files /dev/null and b/Telegram/Resources/icons/dialogs/mini_tag_lock.png differ diff --git a/Telegram/Resources/icons/dialogs/mini_tag_lock@2x.png b/Telegram/Resources/icons/dialogs/mini_tag_lock@2x.png new file mode 100644 index 000000000..cc875b7fa Binary files /dev/null and b/Telegram/Resources/icons/dialogs/mini_tag_lock@2x.png differ diff --git a/Telegram/Resources/icons/dialogs/mini_tag_lock@3x.png b/Telegram/Resources/icons/dialogs/mini_tag_lock@3x.png new file mode 100644 index 000000000..68254340d Binary files /dev/null and b/Telegram/Resources/icons/dialogs/mini_tag_lock@3x.png differ diff --git a/Telegram/Resources/icons/dialogs/tags_arrow.png b/Telegram/Resources/icons/dialogs/tags_arrow.png deleted file mode 100644 index 78a86bf65..000000000 Binary files a/Telegram/Resources/icons/dialogs/tags_arrow.png and /dev/null differ diff --git a/Telegram/Resources/icons/dialogs/tags_arrow@2x.png b/Telegram/Resources/icons/dialogs/tags_arrow@2x.png deleted file mode 100644 index d28af1152..000000000 Binary files a/Telegram/Resources/icons/dialogs/tags_arrow@2x.png and /dev/null differ diff --git a/Telegram/Resources/icons/dialogs/tags_arrow@3x.png b/Telegram/Resources/icons/dialogs/tags_arrow@3x.png deleted file mode 100644 index 086a6b8ec..000000000 Binary files a/Telegram/Resources/icons/dialogs/tags_arrow@3x.png and /dev/null differ diff --git a/Telegram/Resources/icons/menu/tag_filter.png b/Telegram/Resources/icons/menu/tag_filter.png new file mode 100644 index 000000000..1bef612c5 Binary files /dev/null and b/Telegram/Resources/icons/menu/tag_filter.png differ diff --git a/Telegram/Resources/icons/menu/tag_filter@2x.png b/Telegram/Resources/icons/menu/tag_filter@2x.png new file mode 100644 index 000000000..056113881 Binary files /dev/null and b/Telegram/Resources/icons/menu/tag_filter@2x.png differ diff --git a/Telegram/Resources/icons/menu/tag_filter@3x.png b/Telegram/Resources/icons/menu/tag_filter@3x.png new file mode 100644 index 000000000..e8661460e Binary files /dev/null and b/Telegram/Resources/icons/menu/tag_filter@3x.png differ diff --git a/Telegram/Resources/icons/menu/tag_remove.png b/Telegram/Resources/icons/menu/tag_remove.png new file mode 100644 index 000000000..0a495b4ef Binary files /dev/null and b/Telegram/Resources/icons/menu/tag_remove.png differ diff --git a/Telegram/Resources/icons/menu/tag_remove@2x.png b/Telegram/Resources/icons/menu/tag_remove@2x.png new file mode 100644 index 000000000..521ab6968 Binary files /dev/null and b/Telegram/Resources/icons/menu/tag_remove@2x.png differ diff --git a/Telegram/Resources/icons/menu/tag_remove@3x.png b/Telegram/Resources/icons/menu/tag_remove@3x.png new file mode 100644 index 000000000..5ebfb2b91 Binary files /dev/null and b/Telegram/Resources/icons/menu/tag_remove@3x.png differ diff --git a/Telegram/Resources/icons/menu/tag_rename.png b/Telegram/Resources/icons/menu/tag_rename.png new file mode 100644 index 000000000..69040f6aa Binary files /dev/null and b/Telegram/Resources/icons/menu/tag_rename.png differ diff --git a/Telegram/Resources/icons/menu/tag_rename@2x.png b/Telegram/Resources/icons/menu/tag_rename@2x.png new file mode 100644 index 000000000..2eb0fb82f Binary files /dev/null and b/Telegram/Resources/icons/menu/tag_rename@2x.png differ diff --git a/Telegram/Resources/icons/menu/tag_rename@3x.png b/Telegram/Resources/icons/menu/tag_rename@3x.png new file mode 100644 index 000000000..ec18a3f00 Binary files /dev/null and b/Telegram/Resources/icons/menu/tag_rename@3x.png differ diff --git a/Telegram/Resources/icons/settings/premium/tags.png b/Telegram/Resources/icons/settings/premium/tags.png index 77e9f63a1..9a761e7b0 100644 Binary files a/Telegram/Resources/icons/settings/premium/tags.png and b/Telegram/Resources/icons/settings/premium/tags.png differ diff --git a/Telegram/Resources/icons/settings/premium/tags@2x.png b/Telegram/Resources/icons/settings/premium/tags@2x.png index 183760ba7..194aec649 100644 Binary files a/Telegram/Resources/icons/settings/premium/tags@2x.png and b/Telegram/Resources/icons/settings/premium/tags@2x.png differ diff --git a/Telegram/Resources/icons/settings/premium/tags@3x.png b/Telegram/Resources/icons/settings/premium/tags@3x.png index 0e5e12899..f6b8511cf 100644 Binary files a/Telegram/Resources/icons/settings/premium/tags@3x.png and b/Telegram/Resources/icons/settings/premium/tags@3x.png differ diff --git a/Telegram/SourceFiles/dialogs/dialogs.style b/Telegram/SourceFiles/dialogs/dialogs.style index a58443444..224417f20 100644 --- a/Telegram/SourceFiles/dialogs/dialogs.style +++ b/Telegram/SourceFiles/dialogs/dialogs.style @@ -626,7 +626,10 @@ searchedBarPosition: point(17px, 7px); dialogsSearchTagSkip: point(8px, 4px); dialogsSearchTagBottom: 10px; -dialogsSearchTagLocked: icon{{ "emoji/premium_lock", lightButtonFgOver }}; +dialogsSearchTagLocked: icon{{ "dialogs/mini_tag_lock", lightButtonFgOver }}; dialogsSearchTagPromo: defaultTextStyle; -dialogsSearchTagArrow: icon{{ "dialogs/tags_arrow", windowSubTextFg }}; -dialogsSearchTagArrowPadding: margins(0px, 3px, 0px, 0px); +dialogsSearchTagArrow: icon{{ "dialogs/mini_arrow", windowSubTextFg }}; +dialogsSearchTagArrowPadding: margins(-6px, 3px, 0px, 0px); +dialogsSearchTagPromoLeft: 6px; +dialogsSearchTagPromoRight: 1px; +dialogsSearchTagPromoSkip: 6px; diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp index 26ddf92a2..54a9c84d0 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp @@ -1862,6 +1862,9 @@ void InnerWidget::setSearchedPressed(int pressed) { } void InnerWidget::resizeEvent(QResizeEvent *e) { + if (_searchTags) { + _searchTags->resizeToWidth(width() - 2 * _searchTagsLeft); + } resizeEmptyLabel(); moveCancelSearchButtons(); } diff --git a/Telegram/SourceFiles/dialogs/dialogs_search_tags.cpp b/Telegram/SourceFiles/dialogs/dialogs_search_tags.cpp index 936dd61b3..d6a243e48 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_search_tags.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_search_tags.cpp @@ -214,7 +214,9 @@ void SearchTags::layout() { auto x = 0; auto y = 0; for (auto &tag : _tags) { - const auto width = xbase + tag.textWidth; + const auto width = xbase + (tag.promo + ? std::max(0, tag.textWidth - st::dialogsSearchTagPromoLeft - st::dialogsSearchTagPromoRight) + : tag.textWidth); if (x > 0 && x + width > _width) { x = 0; y += ybase + skip.y(); @@ -224,7 +226,7 @@ void SearchTags::layout() { } _height = y + ybase + st::dialogsSearchTagBottom; if (_tags.size() == 1 && _tags.front().promo) { - _additionalLeft = x; + _additionalLeft = x - skip.x() + st::dialogsSearchTagPromoSkip; const auto additionalWidth = _width - _additionalLeft; _additionalText = FillAdditionalText(_owner, additionalWidth); } else { @@ -335,7 +337,11 @@ void SearchTags::paint( inner.topLeft() + QPoint(skip, skip), QSize(st::reactionInlineImage, st::reactionInlineImage)); if (tag.promo) { - st::dialogsSearchTagLocked.paintInCenter(p, image); + st::dialogsSearchTagLocked.paintInCenter(p, QRect( + inner.x(), + inner.y() + skip, + size - st::dialogsSearchTagPromoLeft, + st::reactionInlineImage)); } else if (const auto custom = tag.custom.get()) { const auto textFg = tag.selected ? st::dialogsNameFgActive->c @@ -363,7 +369,7 @@ void SearchTags::paintAdditionalText(Painter &p, QPoint position) const { const auto height = st::dialogsSearchTagPromo.font->height; const auto y = position.y() + tag.y() + (tag.height() - height) / 2; p.setPen(st::windowSubTextFg); - _additionalText.drawLeft(p, x, y, _width - x, _width); + _additionalText.drawLeft(p, x, y, _width - _additionalLeft, _width); } void SearchTags::paintBackground( @@ -409,8 +415,11 @@ void SearchTags::paintText( ? st::dialogsTextFgActive : st::windowSubTextFg); p.setFont(st::reactionInlineTagFont); - const auto x = geometry.x() + st::reactionInlineTagNamePosition.x(); - const auto y = geometry.y() + st::reactionInlineTagNamePosition.y(); + const auto position = tag.promo + ? st::reactionInlineTagPromoPosition + : st::reactionInlineTagNamePosition; + const auto x = geometry.x() + position.x(); + const auto y = geometry.y() + position.y(); p.drawText(x, y + st::reactionInlineTagFont->ascent, tag.text); } diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp index c2c53681b..f3b5d1752 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp @@ -327,6 +327,8 @@ Widget::Widget( ) | rpl::start_with_next([=] { setSearchInChat((_openedForum && !_searchInChat) ? Key(_openedForum->history()) + : _searchInChat.sublist() + ? Key(session().data().history(session().user())) : _searchInChat, nullptr); applyFilterUpdate(true); }, lifetime()); diff --git a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp index 181c60bfd..898a645a8 100644 --- a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp +++ b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp @@ -1449,14 +1449,14 @@ void ShowTagMenu( .sessionWindow = controller, }), }); - }, &st::menuIconFave); + }, &st::menuIconTagFilter); const auto editLabel = owner->reactions().myTagTitle(id).isEmpty() ? tr::lng_context_tag_add_name(tr::now) : tr::lng_context_tag_edit_name(tr::now); (*menu)->addAction(editLabel, [=] { controller->show(Box(EditTagBox, controller, id)); - }, &st::menuIconEdit); + }, &st::menuIconTagRename); const auto removeTag = [=] { if (const auto item = owner->message(itemId)) { @@ -1475,8 +1475,8 @@ void ShowTagMenu( (*menu)->menu(), tr::lng_context_remove_tag(tr::now), removeTag), - &st::menuIconDisableAttention, - &st::menuIconDisableAttention)); + &st::menuIconTagRemoveAttention, + &st::menuIconTagRemoveAttention)); if (const auto custom = id.custom()) { if (const auto set = owner->document(custom)->sticker()) { diff --git a/Telegram/SourceFiles/ui/chat/chat.style b/Telegram/SourceFiles/ui/chat/chat.style index 38d1a55e5..1237f3e34 100644 --- a/Telegram/SourceFiles/ui/chat/chat.style +++ b/Telegram/SourceFiles/ui/chat/chat.style @@ -866,6 +866,7 @@ reactionInlineTagDot: 5px; reactionInlineTagDotSkip: 2px; reactionInlineTagFont: font(12px); reactionInlineTagNamePosition: point(26px, 2px); +reactionInlineTagPromoPosition: point(20px, 2px); reactionInlineBetween: 4px; reactionInlineInBubbleLeft: -3px; reactionInlineUserpicsPadding: margins(1px, 1px, 1px, 1px); diff --git a/Telegram/SourceFiles/ui/menu_icons.style b/Telegram/SourceFiles/ui/menu_icons.style index bf378fb1e..dc870d498 100644 --- a/Telegram/SourceFiles/ui/menu_icons.style +++ b/Telegram/SourceFiles/ui/menu_icons.style @@ -147,6 +147,8 @@ menuIconEnlarge: icon {{ "menu/link_enlarge", menuIconColor }}; menuIconShrink: icon {{ "menu/link_shrink", menuIconColor }}; menuIconAsTopics: icon {{ "menu/mode_topics", menuIconColor }}; menuIconAsMessages: icon {{ "menu/mode_messages", menuIconColor }}; +menuIconTagFilter: icon{{ "menu/tag_filter", menuIconColor }}; +menuIconTagRename: icon{{ "menu/tag_rename", menuIconColor }}; menuIconTTLAny: icon {{ "menu/auto_delete_plain", menuIconColor }}; menuIconTTLAnyTextPosition: point(11px, 22px); @@ -182,6 +184,7 @@ menuIconLeaveAttention: icon {{ "menu/leave", menuIconAttentionColor }}; menuIconDisableAttention: icon {{ "menu/disable", menuIconAttentionColor }}; menuIconReportAttention: icon {{ "menu/report", menuIconAttentionColor }}; menuIconRestoreAttention: icon {{ "menu/restore", menuIconAttentionColor }}; +menuIconTagRemoveAttention: icon {{ "menu/tag_remove", menuIconAttentionColor }}; menuIconBlockSettings: icon {{ "menu/block", windowBgActive }}; menuIconInviteSettings: icon {{ "menu/invite", windowBgActive }};