From 57fc9f71acec646efd4f56d1c31ee0cf4940590c Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 25 Jul 2023 10:45:08 +0400 Subject: [PATCH] Fix some stories tooltip edge cases. --- Telegram/SourceFiles/boxes/peers/peer_short_info_box.cpp | 3 --- Telegram/SourceFiles/dialogs/dialogs_widget.cpp | 6 ++++-- Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp | 9 +++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Telegram/SourceFiles/boxes/peers/peer_short_info_box.cpp b/Telegram/SourceFiles/boxes/peers/peer_short_info_box.cpp index b1d6ab7b0..bc07210f6 100644 --- a/Telegram/SourceFiles/boxes/peers/peer_short_info_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/peer_short_info_box.cpp @@ -20,7 +20,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "media/streaming/media_streaming_instance.h" #include "media/streaming/media_streaming_player.h" #include "base/event_filter.h" -#include "base/qt/qt_tab_key.h" #include "lang/lang_keys.h" #include "styles/style_boxes.h" #include "styles/style_layers.h" @@ -671,8 +670,6 @@ PeerShortInfoBox::PeerShortInfoBox( ) | rpl::start_with_next([=] { _cover.setScrollTop(_scroll->scrollTop()); }, _cover.lifetime()); - - base::DisableTabKey(this); } PeerShortInfoBox::~PeerShortInfoBox() = default; diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp index e2fb50534..f6b506d0d 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp @@ -803,8 +803,10 @@ void Widget::setupStories() { Core::App().saveSettingsDelayed(); }; _stories->setShowTooltip( - Core::App().settings().storiesClickTooltipHiddenValue( - ) | rpl::map(!rpl::mappers::_1), + rpl::combine( + Core::App().settings().storiesClickTooltipHiddenValue(), + shownValue(), + !rpl::mappers::_1 && rpl::mappers::_2), hideTooltip); _storiesContents.fire(Stories::ContentForSession( diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp index da710848b..83b73ec7d 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_stories_list.cpp @@ -951,9 +951,6 @@ void List::updateTooltipGeometry() { return; } const auto collapsed = collapsedGeometryCurrent(); - if (collapsed.geometry.isEmpty()) { - int a = 0; - } const auto geometry = Ui::MapFrom( window(), parentWidget(), @@ -964,8 +961,12 @@ void List::updateTooltipGeometry() { collapsed.geometry.height())); const auto weak = QPointer(_tooltip.get()); const auto countPosition = [=](QSize size) { + const auto left = geometry.x() + + (geometry.width() - size.width()) / 2; + const auto right = window()->width() + - st::dialogsStoriesTooltip.padding.right(); return QPoint( - geometry.x() + (geometry.width() - size.width()) / 2, + std::max(std::min(left, right - size.width()), 0), geometry.y() + geometry.height()); }; _tooltip->pointAt(geometry, RectPart::Bottom, countPosition);