From 7c02d67665ae14cc32a92b37b302ab0b115f924d Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Fri, 18 Jun 2021 09:39:10 +0300 Subject: [PATCH] Moved cancelUploadLayer from MainWidget to SessionController. --- .../admin_log/history_admin_log_inner.cpp | 2 +- .../history/history_inner_widget.cpp | 4 +-- .../view/history_view_context_menu.cpp | 2 +- .../history/view/history_view_list_widget.cpp | 2 +- Telegram/SourceFiles/mainwidget.cpp | 31 ------------------ Telegram/SourceFiles/mainwidget.h | 1 - .../window/window_session_controller.cpp | 32 +++++++++++++++++++ .../window/window_session_controller.h | 1 + 8 files changed, 38 insertions(+), 37 deletions(-) diff --git a/Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp b/Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp index 1cbbc03ce..abe2aff0a 100644 --- a/Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp +++ b/Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp @@ -618,7 +618,7 @@ void InnerWidget::elementOpenDocument( void InnerWidget::elementCancelUpload(const FullMsgId &context) { if (const auto item = session().data().message(context)) { - _controller->content()->cancelUploadLayer(item); + _controller->cancelUploadLayer(item); } } diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp index 1a6e6cbf8..06f498443 100644 --- a/Telegram/SourceFiles/history/history_inner_widget.cpp +++ b/Telegram/SourceFiles/history/history_inner_widget.cpp @@ -2583,7 +2583,7 @@ void HistoryInner::elementOpenDocument( void HistoryInner::elementCancelUpload(const FullMsgId &context) { if (const auto item = session().data().message(context)) { - _controller->content()->cancelUploadLayer(item); + _controller->cancelUploadLayer(item); } } @@ -3241,7 +3241,7 @@ void HistoryInner::deleteItem(FullMsgId itemId) { void HistoryInner::deleteItem(not_null item) { if (auto message = item->toHistoryMessage()) { if (message->uploading()) { - _controller->content()->cancelUploadLayer(item); + _controller->cancelUploadLayer(item); return; } } diff --git a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp index 1929ae288..301d10f9b 100644 --- a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp +++ b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp @@ -728,7 +728,7 @@ bool AddDeleteMessageAction( } if (const auto message = item->toHistoryMessage()) { if (message->uploading()) { - controller->content()->cancelUploadLayer(item); + controller->cancelUploadLayer(item); return; } } diff --git a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp index 506fb1d09..8b2747fd2 100644 --- a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp +++ b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp @@ -1316,7 +1316,7 @@ void ListWidget::elementOpenDocument( void ListWidget::elementCancelUpload(const FullMsgId &context) { if (const auto item = session().data().message(context)) { - _controller->content()->cancelUploadLayer(item); + _controller->cancelUploadLayer(item); } } diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index 1c87159a2..a73f8233a 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -68,7 +68,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "lang/lang_keys.h" #include "lang/lang_cloud_manager.h" #include "boxes/add_contact_box.h" -#include "storage/file_upload.h" #include "mainwindow.h" #include "inline_bots/inline_bot_layout_item.h" #include "boxes/confirm_box.h" @@ -750,36 +749,6 @@ void MainWidget::showSendPathsLayer() { } } -void MainWidget::cancelUploadLayer(not_null item) { - const auto itemId = item->fullId(); - session().uploader().pause(itemId); - const auto stopUpload = [=] { - Ui::hideLayer(); - auto &data = session().data(); - if (const auto item = data.message(itemId)) { - if (!item->isEditingMedia()) { - const auto history = item->history(); - item->destroy(); - history->requestChatListMessage(); - } else { - item->returnSavedMedia(); - session().uploader().cancel(item->fullId()); - } - data.sendHistoryChangeNotifications(); - } - session().uploader().unpause(); - }; - const auto continueUpload = [=] { - session().uploader().unpause(); - }; - Ui::show(Box( - tr::lng_selected_cancel_sure_this(tr::now), - tr::lng_selected_upload_stop(tr::now), - tr::lng_continue(tr::now), - stopUpload, - continueUpload)); -} - void MainWidget::deletePhotoLayer(PhotoData *photo) { if (!photo) return; Ui::show(Box(tr::lng_delete_photo_sure(tr::now), tr::lng_box_delete(tr::now), crl::guard(this, [=] { diff --git a/Telegram/SourceFiles/mainwidget.h b/Telegram/SourceFiles/mainwidget.h index 54d22a635..af80f5fd2 100644 --- a/Telegram/SourceFiles/mainwidget.h +++ b/Telegram/SourceFiles/mainwidget.h @@ -160,7 +160,6 @@ public: void showForwardLayer(MessageIdsList &&items); void showSendPathsLayer(); - void cancelUploadLayer(not_null item); void shareUrlLayer(const QString &url, const QString &text); void inlineSwitchLayer(const QString &botAndQuery); void hiderLayer(base::unique_qptr h); diff --git a/Telegram/SourceFiles/window/window_session_controller.cpp b/Telegram/SourceFiles/window/window_session_controller.cpp index 49d541782..3455dbf2b 100644 --- a/Telegram/SourceFiles/window/window_session_controller.cpp +++ b/Telegram/SourceFiles/window/window_session_controller.cpp @@ -57,6 +57,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "api/api_chat_invite.h" #include "api/api_global_privacy.h" #include "support/support_helper.h" +#include "storage/file_upload.h" #include "facades.h" #include "styles/style_window.h" #include "styles/style_dialogs.h" @@ -1149,6 +1150,37 @@ void SessionController::showPeerHistoryAtItem( }); } +void SessionController::cancelUploadLayer(not_null item) { + const auto itemId = item->fullId(); + session().uploader().pause(itemId); + const auto stopUpload = [=] { + Ui::hideLayer(); + auto &data = session().data(); + if (const auto item = data.message(itemId)) { + if (!item->isEditingMedia()) { + const auto history = item->history(); + item->destroy(); + history->requestChatListMessage(); + } else { + item->returnSavedMedia(); + session().uploader().cancel(item->fullId()); + } + data.sendHistoryChangeNotifications(); + } + session().uploader().unpause(); + }; + const auto continueUpload = [=] { + session().uploader().unpause(); + }; + + show(Box( + tr::lng_selected_cancel_sure_this(tr::now), + tr::lng_selected_upload_stop(tr::now), + tr::lng_continue(tr::now), + stopUpload, + continueUpload)); +} + void SessionController::showSection( std::shared_ptr memento, const SectionShow ¶ms) { diff --git a/Telegram/SourceFiles/window/window_session_controller.h b/Telegram/SourceFiles/window/window_session_controller.h index 49fe33ddb..9bb5ed0e7 100644 --- a/Telegram/SourceFiles/window/window_session_controller.h +++ b/Telegram/SourceFiles/window/window_session_controller.h @@ -328,6 +328,7 @@ public: MsgId msgId = ShowAtUnreadMsgId) override; void showPeerHistoryAtItem(not_null item); + void cancelUploadLayer(not_null item); void showSpecialLayer( object_ptr &&layer,