Added entry points for moderation box.

This commit is contained in:
23rd 2024-04-26 11:16:33 +03:00 committed by John Preston
parent 82293c98eb
commit e5b91d2f3d
3 changed files with 34 additions and 12 deletions

View file

@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history_item_helpers.h" #include "history/history_item_helpers.h"
#include "history/view/controls/history_view_forward_panel.h" #include "history/view/controls/history_view_forward_panel.h"
#include "history/view/controls/history_view_draft_options.h" #include "history/view/controls/history_view_draft_options.h"
#include "boxes/moderate_messages_box.h"
#include "history/view/media/history_view_sticker.h" #include "history/view/media/history_view_sticker.h"
#include "history/view/media/history_view_web_page.h" #include "history/view/media/history_view_web_page.h"
#include "history/view/reactions/history_view_reactions_button.h" #include "history/view/reactions/history_view_reactions_button.h"
@ -4269,8 +4270,13 @@ void HistoryInner::deleteItem(not_null<HistoryItem*> item) {
_controller->cancelUploadLayer(item); _controller->cancelUploadLayer(item);
return; return;
} }
const auto suggestModerateActions = true; const auto list = HistoryItemsList{ item };
_controller->show(Box<DeleteMessagesBox>(item, suggestModerateActions)); if (CanCreateModerateMessagesBox(list)) {
_controller->show(Box(CreateModerateMessagesBox, list, nullptr));
} else {
const auto suggestModerate = false;
_controller->show(Box<DeleteMessagesBox>(item, suggestModerate));
}
} }
bool HistoryInner::hasPendingResizedItems() const { bool HistoryInner::hasPendingResizedItems() const {

View file

@ -19,6 +19,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "boxes/send_files_box.h" #include "boxes/send_files_box.h"
#include "boxes/share_box.h" #include "boxes/share_box.h"
#include "boxes/edit_caption_box.h" #include "boxes/edit_caption_box.h"
#include "boxes/moderate_messages_box.h"
#include "boxes/premium_limits_box.h" #include "boxes/premium_limits_box.h"
#include "boxes/premium_preview_box.h" #include "boxes/premium_preview_box.h"
#include "boxes/peers/edit_peer_permissions_box.h" // ShowAboutGigagroup. #include "boxes/peers/edit_peer_permissions_box.h" // ShowAboutGigagroup.
@ -7953,15 +7954,23 @@ void HistoryWidget::forwardSelected() {
void HistoryWidget::confirmDeleteSelected() { void HistoryWidget::confirmDeleteSelected() {
if (!_list) return; if (!_list) return;
auto items = _list->getSelectedItems(); auto ids = _list->getSelectedItems();
if (items.empty()) { if (ids.empty()) {
return; return;
} }
auto box = Box<DeleteMessagesBox>(&session(), std::move(items)); const auto items = session().data().idsToItems(ids);
box->setDeleteConfirmedCallback(crl::guard(this, [=] { if (CanCreateModerateMessagesBox(items)) {
clearSelected(); controller()->show(Box(
})); CreateModerateMessagesBox,
controller()->show(std::move(box)); items,
crl::guard(this, [=] { clearSelected(); })));
} else {
auto box = Box<DeleteMessagesBox>(&session(), std::move(ids));
box->setDeleteConfirmedCallback(crl::guard(this, [=] {
clearSelected();
}));
controller()->show(std::move(box));
}
} }
void HistoryWidget::escape() { void HistoryWidget::escape() {

View file

@ -47,6 +47,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "ui/widgets/fields/input_field.h" #include "ui/widgets/fields/input_field.h"
#include "ui/power_saving.h" #include "ui/power_saving.h"
#include "boxes/delete_messages_box.h" #include "boxes/delete_messages_box.h"
#include "boxes/moderate_messages_box.h"
#include "boxes/report_messages_box.h" #include "boxes/report_messages_box.h"
#include "boxes/sticker_set_box.h" #include "boxes/sticker_set_box.h"
#include "boxes/stickers_box.h" #include "boxes/stickers_box.h"
@ -828,9 +829,15 @@ bool AddDeleteMessageAction(
controller->cancelUploadLayer(item); controller->cancelUploadLayer(item);
return; return;
} }
const auto suggestModerateActions = true; const auto list = HistoryItemsList{ item };
controller->show( if (CanCreateModerateMessagesBox(list)) {
Box<DeleteMessagesBox>(item, suggestModerateActions)); controller->show(
Box(CreateModerateMessagesBox, list, nullptr));
} else {
const auto suggestModerateActions = false;
controller->show(
Box<DeleteMessagesBox>(item, suggestModerateActions));
}
} }
}); });
if (item->isUploading()) { if (item->isUploading()) {