diff --git a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp index 6dc7d8ace..4223a4ab6 100644 --- a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp +++ b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp @@ -765,10 +765,7 @@ void RepliesWidget::send(Api::SendOptions options) { //_saveDraftStart = crl::now(); //onDraftSave(); - _composeControls->hidePanelsAnimated(); - - //if (_previewData && _previewData->pendingTill) previewCancel(); - _composeControls->focus(); + finishSending(); } void RepliesWidget::edit( @@ -881,8 +878,7 @@ bool RepliesWidget::sendExistingDocument( //} _composeControls->cancelReplyMessage(); - _composeControls->hidePanelsAnimated(); - _composeControls->focus(); + finishSending(); return true; } @@ -914,8 +910,7 @@ bool RepliesWidget::sendExistingPhoto( Api::SendExistingPhoto(std::move(message), photo); _composeControls->cancelReplyMessage(); - _composeControls->hidePanelsAnimated(); - _composeControls->focus(); + finishSending(); return true; } @@ -962,9 +957,7 @@ void RepliesWidget::sendInlineResult( bots.push_front(bot); bot->session().local().writeRecentHashtagsAndBots(); } - - _composeControls->hidePanelsAnimated(); - _composeControls->focus(); + finishSending(); } SendMenu::Type RepliesWidget::sendMenuType() const { @@ -998,14 +991,25 @@ void RepliesWidget::setupScrollDownButton() { void RepliesWidget::scrollDownClicked() { if (QGuiApplication::keyboardModifiers() == Qt::ControlModifier) { - showAtPosition(Data::MaxMessagePosition); + showAtEnd(); } else if (_replyReturn) { showAtPosition(_replyReturn->position()); } else { - showAtPosition(Data::MaxMessagePosition); + showAtEnd(); } } +void RepliesWidget::showAtEnd() { + showAtPosition(Data::MaxMessagePosition); +} + +void RepliesWidget::finishSending() { + _composeControls->hidePanelsAnimated(); + //if (_previewData && _previewData->pendingTill) previewCancel(); + _composeControls->focus(); + showAtEnd(); +} + void RepliesWidget::showAtPosition( Data::MessagePosition position, HistoryItem *originItem) { diff --git a/Telegram/SourceFiles/history/view/history_view_replies_section.h b/Telegram/SourceFiles/history/view/history_view_replies_section.h index 4dce4bff1..82459de55 100644 --- a/Telegram/SourceFiles/history/view/history_view_replies_section.h +++ b/Telegram/SourceFiles/history/view/history_view_replies_section.h @@ -139,12 +139,14 @@ private: void updateAdaptiveLayout(); void saveState(not_null memento); void restoreState(not_null memento); + void showAtEnd(); void showAtPosition( Data::MessagePosition position, HistoryItem *originItem = nullptr); bool showAtPositionNow( Data::MessagePosition position, HistoryItem *originItem); + void finishSending(); void setupComposeControls();