2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-08-31 06:26:18 +00:00

Implement drag-n-drop to forum topics.

This commit is contained in:
John Preston
2022-11-01 11:18:56 +04:00
parent 6d215d3729
commit d5ea0149e8
23 changed files with 232 additions and 133 deletions

View File

@@ -1542,20 +1542,20 @@ QPointer<Ui::BoxContent> ShowForwardMessagesBox(
std::move(successCallback));
}
QPointer<Ui::BoxContent> ShowForwardMessagesBox(
QPointer<Ui::BoxContent> ShowDropMediaBox(
not_null<Window::SessionNavigation*> navigation,
Data::ForwardDraft &&draft,
std::shared_ptr<QMimeData> data,
not_null<Data::Forum*> forum,
FnMut<void()> &&successCallback) {
const auto weak = std::make_shared<QPointer<Ui::BoxContent>>();
auto chosen = [
draft = std::move(draft),
data = std::move(data),
callback = std::move(successCallback),
weak,
navigation
](not_null<Data::ForumTopic*> topic) mutable {
const auto content = navigation->parentController()->content();
if (!content->setForwardDraft(topic, std::move(draft))) {
if (!content->onFilesOrForwardDrop(topic, data.get())) {
return;
} else if (const auto strong = *weak) {
strong->closeBox();