diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index 97c586aed..1d518a32e 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -6283,7 +6283,8 @@ std::optional HistoryWidget::cornerButtonsDownShown() { if (!_list || _firstLoadRequest) { return false; } - if (_voiceRecordBar->isLockPresent()) { + if (_voiceRecordBar->isLockPresent() + || _voiceRecordBar->isTTLButtonShown()) { return false; } if (!_history->loadedAtBottom() || _cornerButtons.replyReturn()) { diff --git a/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.cpp b/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.cpp index 57cff6c0c..e8e81511e 100644 --- a/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.cpp +++ b/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.cpp @@ -2925,6 +2925,10 @@ bool ComposeControls::isLockPresent() const { return _voiceRecordBar->isLockPresent(); } +bool ComposeControls::isTTLButtonShown() const { + return _voiceRecordBar->isTTLButtonShown(); +} + rpl::producer ComposeControls::lockShowStarts() const { return _voiceRecordBar->lockShowStarts(); } diff --git a/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.h b/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.h index 9ae515d6c..a846cd4ee 100644 --- a/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.h +++ b/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.h @@ -220,6 +220,7 @@ public: [[nodiscard]] rpl::producer lockShowStarts() const; [[nodiscard]] bool isLockPresent() const; + [[nodiscard]] bool isTTLButtonShown() const; [[nodiscard]] bool isRecording() const; [[nodiscard]] bool isRecordingPressed() const; [[nodiscard]] rpl::producer recordingActiveValue() const; diff --git a/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.cpp b/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.cpp index bc80a899a..f8bd585b2 100644 --- a/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.cpp +++ b/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.cpp @@ -1838,6 +1838,10 @@ bool VoiceRecordBar::isRecordingByAnotherBar() const { return !isRecording() && ::Media::Capture::instance()->started(); } +bool VoiceRecordBar::isTTLButtonShown() const { + return !_ttlButton->isHidden(); +} + bool VoiceRecordBar::hasDuration() const { return _recordingSamples > 0; } diff --git a/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.h b/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.h index 31c0eb30e..8b59ad5ea 100644 --- a/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.h +++ b/Telegram/SourceFiles/history/view/controls/history_view_voice_record_bar.h @@ -98,6 +98,7 @@ public: [[nodiscard]] bool isListenState() const; [[nodiscard]] bool isActive() const; [[nodiscard]] bool isRecordingByAnotherBar() const; + [[nodiscard]] bool isTTLButtonShown() const; private: enum class StopType { diff --git a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp index 530af5fae..157a61977 100644 --- a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp +++ b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp @@ -1838,7 +1838,8 @@ bool RepliesWidget::cornerButtonsIgnoreVisibility() { } std::optional RepliesWidget::cornerButtonsDownShown() { - if (_composeControls->isLockPresent()) { + if (_composeControls->isLockPresent() + || _composeControls->isTTLButtonShown()) { return false; } const auto top = _scroll->scrollTop() + st::historyToDownShownAfter; @@ -1851,7 +1852,9 @@ std::optional RepliesWidget::cornerButtonsDownShown() { } bool RepliesWidget::cornerButtonsUnreadMayBeShown() { - return _loaded && !_composeControls->isLockPresent(); + return _loaded + && !_composeControls->isLockPresent() + && !_composeControls->isTTLButtonShown(); } bool RepliesWidget::cornerButtonsHas(CornerButtonType type) { diff --git a/Telegram/SourceFiles/history/view/history_view_scheduled_section.cpp b/Telegram/SourceFiles/history/view/history_view_scheduled_section.cpp index ed57d5ee8..a086d71cb 100644 --- a/Telegram/SourceFiles/history/view/history_view_scheduled_section.cpp +++ b/Telegram/SourceFiles/history/view/history_view_scheduled_section.cpp @@ -843,7 +843,8 @@ bool ScheduledWidget::cornerButtonsIgnoreVisibility() { } std::optional ScheduledWidget::cornerButtonsDownShown() { - if (_composeControls->isLockPresent()) { + if (_composeControls->isLockPresent() + || _composeControls->isTTLButtonShown()) { return false; } const auto top = _scroll->scrollTop() + st::historyToDownShownAfter; @@ -857,7 +858,8 @@ std::optional ScheduledWidget::cornerButtonsDownShown() { bool ScheduledWidget::cornerButtonsUnreadMayBeShown() { return _inner->loadedAtBottomKnown() - && !_composeControls->isLockPresent(); + && !_composeControls->isLockPresent() + && !_composeControls->isTTLButtonShown(); } bool ScheduledWidget::cornerButtonsHas(CornerButtonType type) {