mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-07-25 06:54:43 +00:00
Added ability to open full checked moderate box with pressed Ctrl.
This commit is contained in:
@@ -1170,3 +1170,13 @@ void DeleteSublistBox(
|
|||||||
}, st::attentionBoxButton);
|
}, st::attentionBoxButton);
|
||||||
box->addButton(tr::lng_cancel(), close);
|
box->addButton(tr::lng_cancel(), close);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ModerateMessagesBoxOptions DefaultModerateMessagesBoxOptions() {
|
||||||
|
return base::IsCtrlPressed()
|
||||||
|
? ModerateMessagesBoxOptions{
|
||||||
|
.reportSpam = true,
|
||||||
|
.deleteAll = true,
|
||||||
|
.banUser = true,
|
||||||
|
}
|
||||||
|
: ModerateMessagesBoxOptions{};
|
||||||
|
}
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ struct ModerateMessagesBoxOptions final {
|
|||||||
bool banUser = false;
|
bool banUser = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[[nodiscard]] ModerateMessagesBoxOptions DefaultModerateMessagesBoxOptions();
|
||||||
|
|
||||||
void CreateModerateMessagesBox(
|
void CreateModerateMessagesBox(
|
||||||
not_null<Ui::GenericBox*> box,
|
not_null<Ui::GenericBox*> box,
|
||||||
const HistoryItemsList &items,
|
const HistoryItemsList &items,
|
||||||
|
|||||||
@@ -4970,7 +4970,7 @@ void HistoryInner::deleteItem(not_null<HistoryItem*> item) {
|
|||||||
}
|
}
|
||||||
const auto list = HistoryItemsList{ item };
|
const auto list = HistoryItemsList{ item };
|
||||||
if (CanCreateModerateMessagesBox(list)) {
|
if (CanCreateModerateMessagesBox(list)) {
|
||||||
const auto opt = ModerateMessagesBoxOptions();
|
const auto opt = DefaultModerateMessagesBoxOptions();
|
||||||
_controller->show(Box(CreateModerateMessagesBox, list, nullptr, opt));
|
_controller->show(Box(CreateModerateMessagesBox, list, nullptr, opt));
|
||||||
} else {
|
} else {
|
||||||
const auto suggestModerate = false;
|
const auto suggestModerate = false;
|
||||||
|
|||||||
@@ -9288,11 +9288,12 @@ void HistoryWidget::confirmDeleteSelected() {
|
|||||||
}
|
}
|
||||||
const auto items = session().data().idsToItems(ids);
|
const auto items = session().data().idsToItems(ids);
|
||||||
if (CanCreateModerateMessagesBox(items)) {
|
if (CanCreateModerateMessagesBox(items)) {
|
||||||
|
const auto opt = DefaultModerateMessagesBoxOptions();
|
||||||
controller()->show(Box(
|
controller()->show(Box(
|
||||||
CreateModerateMessagesBox,
|
CreateModerateMessagesBox,
|
||||||
items,
|
items,
|
||||||
crl::guard(this, [=] { clearSelected(); }),
|
crl::guard(this, [=] { clearSelected(); }),
|
||||||
ModerateMessagesBoxOptions{}));
|
opt));
|
||||||
} else {
|
} else {
|
||||||
auto box = Box<DeleteMessagesBox>(&session(), std::move(ids));
|
auto box = Box<DeleteMessagesBox>(&session(), std::move(ids));
|
||||||
box->setDeleteConfirmedCallback(crl::guard(this, [=] {
|
box->setDeleteConfirmedCallback(crl::guard(this, [=] {
|
||||||
|
|||||||
@@ -893,7 +893,7 @@ bool AddDeleteMessageAction(
|
|||||||
}
|
}
|
||||||
const auto list = HistoryItemsList{ item };
|
const auto list = HistoryItemsList{ item };
|
||||||
if (CanCreateModerateMessagesBox(list)) {
|
if (CanCreateModerateMessagesBox(list)) {
|
||||||
const auto opt = ModerateMessagesBoxOptions();
|
const auto opt = DefaultModerateMessagesBoxOptions();
|
||||||
controller->show(
|
controller->show(
|
||||||
Box(CreateModerateMessagesBox, list, nullptr, opt));
|
Box(CreateModerateMessagesBox, list, nullptr, opt));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -4437,7 +4437,7 @@ void ConfirmDeleteSelectedItems(not_null<ListWidget*> widget) {
|
|||||||
widget->cancelSelection();
|
widget->cancelSelection();
|
||||||
});
|
});
|
||||||
if (CanCreateModerateMessagesBox(historyItems)) {
|
if (CanCreateModerateMessagesBox(historyItems)) {
|
||||||
const auto opt = ModerateMessagesBoxOptions();
|
const auto opt = DefaultModerateMessagesBoxOptions();
|
||||||
controller->show(
|
controller->show(
|
||||||
Box(CreateModerateMessagesBox, historyItems, confirmed, opt));
|
Box(CreateModerateMessagesBox, historyItems, confirmed, opt));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user