mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-02-23 00:36:53 +00:00
Removed MTP* from AdminLog::FilterValue.
This commit is contained in:
parent
d6a30c4853
commit
30cd3cb681
@ -183,7 +183,7 @@ private:
|
||||
|
||||
QPointer<Ui::Checkbox> _allFlags;
|
||||
base::flat_map<
|
||||
MTPDchannelAdminLogEventsFilter::Flags,
|
||||
FilterValue::Flags,
|
||||
QPointer<Ui::Checkbox>> _filterFlags;
|
||||
|
||||
QPointer<Ui::Checkbox> _allUsers;
|
||||
@ -238,8 +238,8 @@ void FilterBox::Inner::createAllActionsCheckbox(const FilterValue &filter) {
|
||||
}
|
||||
|
||||
void FilterBox::Inner::createActionsCheckboxes(const FilterValue &filter) {
|
||||
using Flag = MTPDchannelAdminLogEventsFilter::Flag;
|
||||
using Flags = MTPDchannelAdminLogEventsFilter::Flags;
|
||||
using Flag = FilterValue::Flag;
|
||||
using Flags = FilterValue::Flags;
|
||||
auto addFlag = [this, &filter](Flags flag, QString &&text) {
|
||||
auto checked = (filter.flags == 0) || (filter.flags & flag);
|
||||
auto checkbox = addRow(object_ptr<Ui::Checkbox>(this, std::move(text), checked, st::defaultBoxCheckbox), st::adminLogFilterLittleSkip);
|
||||
@ -264,21 +264,40 @@ void FilterBox::Inner::createActionsCheckboxes(const FilterValue &filter) {
|
||||
};
|
||||
auto isGroup = _channel->isMegagroup();
|
||||
if (isGroup) {
|
||||
addFlag(Flag::f_ban | Flag::f_unban | Flag::f_kick | Flag::f_unkick, tr::lng_admin_log_filter_restrictions(tr::now));
|
||||
addFlag(
|
||||
Flag::Ban
|
||||
| Flag::Unban
|
||||
| Flag::Kick
|
||||
| Flag::Unkick,
|
||||
tr::lng_admin_log_filter_restrictions(tr::now));
|
||||
}
|
||||
addFlag(Flag::f_promote | Flag::f_demote, tr::lng_admin_log_filter_admins_new(tr::now));
|
||||
addFlag(Flag::f_join | Flag::f_invite, tr::lng_admin_log_filter_members_new(tr::now));
|
||||
addFlag(Flag::f_info | Flag::f_settings, _channel->isMegagroup() ? tr::lng_admin_log_filter_info_group(tr::now) : tr::lng_admin_log_filter_info_channel(tr::now));
|
||||
addFlag(Flag::f_delete, tr::lng_admin_log_filter_messages_deleted(tr::now));
|
||||
addFlag(Flag::f_edit, tr::lng_admin_log_filter_messages_edited(tr::now));
|
||||
addFlag(
|
||||
Flag::Promote | Flag::Demote,
|
||||
tr::lng_admin_log_filter_admins_new(tr::now));
|
||||
addFlag(
|
||||
Flag::Join | Flag::Invite,
|
||||
tr::lng_admin_log_filter_members_new(tr::now));
|
||||
addFlag(
|
||||
Flag::Info | Flag::Settings,
|
||||
_channel->isMegagroup()
|
||||
? tr::lng_admin_log_filter_info_group(tr::now)
|
||||
: tr::lng_admin_log_filter_info_channel(tr::now));
|
||||
addFlag(Flag::Delete, tr::lng_admin_log_filter_messages_deleted(tr::now));
|
||||
addFlag(Flag::Edit, tr::lng_admin_log_filter_messages_edited(tr::now));
|
||||
if (isGroup) {
|
||||
addFlag(Flag::f_pinned, tr::lng_admin_log_filter_messages_pinned(tr::now));
|
||||
addFlag(Flag::f_group_call, tr::lng_admin_log_filter_voice_chats(tr::now));
|
||||
addFlag(
|
||||
Flag::Pinned,
|
||||
tr::lng_admin_log_filter_messages_pinned(tr::now));
|
||||
addFlag(
|
||||
Flag::GroupCall,
|
||||
tr::lng_admin_log_filter_voice_chats(tr::now));
|
||||
} else {
|
||||
addFlag(Flag::f_group_call, tr::lng_admin_log_filter_voice_chats_channel(tr::now));
|
||||
addFlag(
|
||||
Flag::GroupCall,
|
||||
tr::lng_admin_log_filter_voice_chats_channel(tr::now));
|
||||
}
|
||||
addFlag(Flag::f_invites, tr::lng_admin_log_filter_invite_links(tr::now));
|
||||
addFlag(Flag::f_leave, tr::lng_admin_log_filter_members_removed(tr::now));
|
||||
addFlag(Flag::Invites, tr::lng_admin_log_filter_invite_links(tr::now));
|
||||
addFlag(Flag::Leave, tr::lng_admin_log_filter_members_removed(tr::now));
|
||||
}
|
||||
|
||||
void FilterBox::Inner::createAllUsersCheckbox(const FilterValue &filter) {
|
||||
|
@ -723,7 +723,29 @@ void InnerWidget::preloadMore(Direction direction) {
|
||||
}
|
||||
|
||||
auto flags = MTPchannels_GetAdminLog::Flags(0);
|
||||
auto filter = MTP_channelAdminLogEventsFilter(MTP_flags(_filter.flags));
|
||||
const auto filter = [&] {
|
||||
using Flag = MTPDchannelAdminLogEventsFilter::Flag;
|
||||
using LocalFlag = FilterValue::Flag;
|
||||
const auto empty = MTPDchannelAdminLogEventsFilter::Flags(0);
|
||||
const auto f = _filter.flags;
|
||||
return empty
|
||||
| ((f & LocalFlag::Join) ? Flag::f_join : empty)
|
||||
| ((f & LocalFlag::Leave) ? Flag::f_leave : empty)
|
||||
| ((f & LocalFlag::Invite) ? Flag::f_invite : empty)
|
||||
| ((f & LocalFlag::Ban) ? Flag::f_ban : empty)
|
||||
| ((f & LocalFlag::Unban) ? Flag::f_unban : empty)
|
||||
| ((f & LocalFlag::Kick) ? Flag::f_kick : empty)
|
||||
| ((f & LocalFlag::Unkick) ? Flag::f_unkick : empty)
|
||||
| ((f & LocalFlag::Promote) ? Flag::f_promote : empty)
|
||||
| ((f & LocalFlag::Demote) ? Flag::f_demote : empty)
|
||||
| ((f & LocalFlag::Info) ? Flag::f_info : empty)
|
||||
| ((f & LocalFlag::Settings) ? Flag::f_settings : empty)
|
||||
| ((f & LocalFlag::Pinned) ? Flag::f_pinned : empty)
|
||||
| ((f & LocalFlag::Edit) ? Flag::f_edit : empty)
|
||||
| ((f & LocalFlag::Delete) ? Flag::f_delete : empty)
|
||||
| ((f & LocalFlag::GroupCall) ? Flag::f_group_call : empty)
|
||||
| ((f & LocalFlag::Invites) ? Flag::f_invites : empty);
|
||||
}();
|
||||
if (_filter.flags != 0) {
|
||||
flags |= MTPchannels_GetAdminLog::Flag::f_events_filter;
|
||||
}
|
||||
@ -744,7 +766,7 @@ void InnerWidget::preloadMore(Direction direction) {
|
||||
MTP_flags(flags),
|
||||
_channel->inputChannel,
|
||||
MTP_string(_searchQuery),
|
||||
filter,
|
||||
MTP_channelAdminLogEventsFilter(MTP_flags(filter)),
|
||||
MTP_vector<MTPInputUser>(admins),
|
||||
MTP_long(maxId),
|
||||
MTP_long(minId),
|
||||
|
@ -29,8 +29,31 @@ class InnerWidget;
|
||||
class SectionMemento;
|
||||
|
||||
struct FilterValue {
|
||||
enum class Flag : uint32 {
|
||||
Join = (1U << 0),
|
||||
Leave = (1U << 1),
|
||||
Invite = (1U << 2),
|
||||
Ban = (1U << 3),
|
||||
Unban = (1U << 4),
|
||||
Kick = (1U << 5),
|
||||
Unkick = (1U << 6),
|
||||
Promote = (1U << 7),
|
||||
Demote = (1U << 8),
|
||||
Info = (1U << 9),
|
||||
Settings = (1U << 10),
|
||||
Pinned = (1U << 11),
|
||||
Edit = (1U << 12),
|
||||
Delete = (1U << 13),
|
||||
GroupCall = (1U << 14),
|
||||
Invites = (1U << 15),
|
||||
|
||||
MAX_FIELD = (1U << 15),
|
||||
};
|
||||
using Flags = base::flags<Flag>;
|
||||
friend inline constexpr bool is_flag_type(Flag) { return true; };
|
||||
|
||||
// Empty "flags" means all events.
|
||||
MTPDchannelAdminLogEventsFilter::Flags flags = 0;
|
||||
Flags flags = 0;
|
||||
std::vector<not_null<UserData*>> admins;
|
||||
bool allUsers = true;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user