Fixed display of corner button in section with ttl button in record bar.

This commit is contained in:
23rd 2024-01-14 18:07:36 +03:00 committed by John Preston
parent d1f4463c2a
commit 8895e49466
7 changed files with 21 additions and 5 deletions

View file

@ -6283,7 +6283,8 @@ std::optional<bool> HistoryWidget::cornerButtonsDownShown() {
if (!_list || _firstLoadRequest) { if (!_list || _firstLoadRequest) {
return false; return false;
} }
if (_voiceRecordBar->isLockPresent()) { if (_voiceRecordBar->isLockPresent()
|| _voiceRecordBar->isTTLButtonShown()) {
return false; return false;
} }
if (!_history->loadedAtBottom() || _cornerButtons.replyReturn()) { if (!_history->loadedAtBottom() || _cornerButtons.replyReturn()) {

View file

@ -2925,6 +2925,10 @@ bool ComposeControls::isLockPresent() const {
return _voiceRecordBar->isLockPresent(); return _voiceRecordBar->isLockPresent();
} }
bool ComposeControls::isTTLButtonShown() const {
return _voiceRecordBar->isTTLButtonShown();
}
rpl::producer<bool> ComposeControls::lockShowStarts() const { rpl::producer<bool> ComposeControls::lockShowStarts() const {
return _voiceRecordBar->lockShowStarts(); return _voiceRecordBar->lockShowStarts();
} }

View file

@ -220,6 +220,7 @@ public:
[[nodiscard]] rpl::producer<bool> lockShowStarts() const; [[nodiscard]] rpl::producer<bool> lockShowStarts() const;
[[nodiscard]] bool isLockPresent() const; [[nodiscard]] bool isLockPresent() const;
[[nodiscard]] bool isTTLButtonShown() const;
[[nodiscard]] bool isRecording() const; [[nodiscard]] bool isRecording() const;
[[nodiscard]] bool isRecordingPressed() const; [[nodiscard]] bool isRecordingPressed() const;
[[nodiscard]] rpl::producer<bool> recordingActiveValue() const; [[nodiscard]] rpl::producer<bool> recordingActiveValue() const;

View file

@ -1838,6 +1838,10 @@ bool VoiceRecordBar::isRecordingByAnotherBar() const {
return !isRecording() && ::Media::Capture::instance()->started(); return !isRecording() && ::Media::Capture::instance()->started();
} }
bool VoiceRecordBar::isTTLButtonShown() const {
return !_ttlButton->isHidden();
}
bool VoiceRecordBar::hasDuration() const { bool VoiceRecordBar::hasDuration() const {
return _recordingSamples > 0; return _recordingSamples > 0;
} }

View file

@ -98,6 +98,7 @@ public:
[[nodiscard]] bool isListenState() const; [[nodiscard]] bool isListenState() const;
[[nodiscard]] bool isActive() const; [[nodiscard]] bool isActive() const;
[[nodiscard]] bool isRecordingByAnotherBar() const; [[nodiscard]] bool isRecordingByAnotherBar() const;
[[nodiscard]] bool isTTLButtonShown() const;
private: private:
enum class StopType { enum class StopType {

View file

@ -1838,7 +1838,8 @@ bool RepliesWidget::cornerButtonsIgnoreVisibility() {
} }
std::optional<bool> RepliesWidget::cornerButtonsDownShown() { std::optional<bool> RepliesWidget::cornerButtonsDownShown() {
if (_composeControls->isLockPresent()) { if (_composeControls->isLockPresent()
|| _composeControls->isTTLButtonShown()) {
return false; return false;
} }
const auto top = _scroll->scrollTop() + st::historyToDownShownAfter; const auto top = _scroll->scrollTop() + st::historyToDownShownAfter;
@ -1851,7 +1852,9 @@ std::optional<bool> RepliesWidget::cornerButtonsDownShown() {
} }
bool RepliesWidget::cornerButtonsUnreadMayBeShown() { bool RepliesWidget::cornerButtonsUnreadMayBeShown() {
return _loaded && !_composeControls->isLockPresent(); return _loaded
&& !_composeControls->isLockPresent()
&& !_composeControls->isTTLButtonShown();
} }
bool RepliesWidget::cornerButtonsHas(CornerButtonType type) { bool RepliesWidget::cornerButtonsHas(CornerButtonType type) {

View file

@ -843,7 +843,8 @@ bool ScheduledWidget::cornerButtonsIgnoreVisibility() {
} }
std::optional<bool> ScheduledWidget::cornerButtonsDownShown() { std::optional<bool> ScheduledWidget::cornerButtonsDownShown() {
if (_composeControls->isLockPresent()) { if (_composeControls->isLockPresent()
|| _composeControls->isTTLButtonShown()) {
return false; return false;
} }
const auto top = _scroll->scrollTop() + st::historyToDownShownAfter; const auto top = _scroll->scrollTop() + st::historyToDownShownAfter;
@ -857,7 +858,8 @@ std::optional<bool> ScheduledWidget::cornerButtonsDownShown() {
bool ScheduledWidget::cornerButtonsUnreadMayBeShown() { bool ScheduledWidget::cornerButtonsUnreadMayBeShown() {
return _inner->loadedAtBottomKnown() return _inner->loadedAtBottomKnown()
&& !_composeControls->isLockPresent(); && !_composeControls->isLockPresent()
&& !_composeControls->isTTLButtonShown();
} }
bool ScheduledWidget::cornerButtonsHas(CornerButtonType type) { bool ScheduledWidget::cornerButtonsHas(CornerButtonType type) {