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/view/controls/history_view_forward_panel.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_web_page.h"
#include "history/view/reactions/history_view_reactions_button.h"
@ -4269,8 +4270,13 @@ void HistoryInner::deleteItem(not_null<HistoryItem*> item) {
_controller->cancelUploadLayer(item);
return;
}
const auto suggestModerateActions = true;
_controller->show(Box<DeleteMessagesBox>(item, suggestModerateActions));
const auto list = HistoryItemsList{ item };
if (CanCreateModerateMessagesBox(list)) {
_controller->show(Box(CreateModerateMessagesBox, list, nullptr));
} else {
const auto suggestModerate = false;
_controller->show(Box<DeleteMessagesBox>(item, suggestModerate));
}
}
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/share_box.h"
#include "boxes/edit_caption_box.h"
#include "boxes/moderate_messages_box.h"
#include "boxes/premium_limits_box.h"
#include "boxes/premium_preview_box.h"
#include "boxes/peers/edit_peer_permissions_box.h" // ShowAboutGigagroup.
@ -7953,15 +7954,23 @@ void HistoryWidget::forwardSelected() {
void HistoryWidget::confirmDeleteSelected() {
if (!_list) return;
auto items = _list->getSelectedItems();
if (items.empty()) {
auto ids = _list->getSelectedItems();
if (ids.empty()) {
return;
}
auto box = Box<DeleteMessagesBox>(&session(), std::move(items));
box->setDeleteConfirmedCallback(crl::guard(this, [=] {
clearSelected();
}));
controller()->show(std::move(box));
const auto items = session().data().idsToItems(ids);
if (CanCreateModerateMessagesBox(items)) {
controller()->show(Box(
CreateModerateMessagesBox,
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() {

View File

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