mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Removed MTP* from AdminLog::FilterValue.
This commit is contained in:
parent
d6a30c4853
commit
30cd3cb681
3 changed files with 81 additions and 17 deletions
|
@ -183,7 +183,7 @@ private:
|
||||||
|
|
||||||
QPointer<Ui::Checkbox> _allFlags;
|
QPointer<Ui::Checkbox> _allFlags;
|
||||||
base::flat_map<
|
base::flat_map<
|
||||||
MTPDchannelAdminLogEventsFilter::Flags,
|
FilterValue::Flags,
|
||||||
QPointer<Ui::Checkbox>> _filterFlags;
|
QPointer<Ui::Checkbox>> _filterFlags;
|
||||||
|
|
||||||
QPointer<Ui::Checkbox> _allUsers;
|
QPointer<Ui::Checkbox> _allUsers;
|
||||||
|
@ -238,8 +238,8 @@ void FilterBox::Inner::createAllActionsCheckbox(const FilterValue &filter) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilterBox::Inner::createActionsCheckboxes(const FilterValue &filter) {
|
void FilterBox::Inner::createActionsCheckboxes(const FilterValue &filter) {
|
||||||
using Flag = MTPDchannelAdminLogEventsFilter::Flag;
|
using Flag = FilterValue::Flag;
|
||||||
using Flags = MTPDchannelAdminLogEventsFilter::Flags;
|
using Flags = FilterValue::Flags;
|
||||||
auto addFlag = [this, &filter](Flags flag, QString &&text) {
|
auto addFlag = [this, &filter](Flags flag, QString &&text) {
|
||||||
auto checked = (filter.flags == 0) || (filter.flags & flag);
|
auto checked = (filter.flags == 0) || (filter.flags & flag);
|
||||||
auto checkbox = addRow(object_ptr<Ui::Checkbox>(this, std::move(text), checked, st::defaultBoxCheckbox), st::adminLogFilterLittleSkip);
|
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();
|
auto isGroup = _channel->isMegagroup();
|
||||||
if (isGroup) {
|
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(
|
||||||
addFlag(Flag::f_join | Flag::f_invite, tr::lng_admin_log_filter_members_new(tr::now));
|
Flag::Promote | Flag::Demote,
|
||||||
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));
|
tr::lng_admin_log_filter_admins_new(tr::now));
|
||||||
addFlag(Flag::f_delete, tr::lng_admin_log_filter_messages_deleted(tr::now));
|
addFlag(
|
||||||
addFlag(Flag::f_edit, tr::lng_admin_log_filter_messages_edited(tr::now));
|
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) {
|
if (isGroup) {
|
||||||
addFlag(Flag::f_pinned, tr::lng_admin_log_filter_messages_pinned(tr::now));
|
addFlag(
|
||||||
addFlag(Flag::f_group_call, tr::lng_admin_log_filter_voice_chats(tr::now));
|
Flag::Pinned,
|
||||||
|
tr::lng_admin_log_filter_messages_pinned(tr::now));
|
||||||
|
addFlag(
|
||||||
|
Flag::GroupCall,
|
||||||
|
tr::lng_admin_log_filter_voice_chats(tr::now));
|
||||||
} else {
|
} 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::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::Leave, tr::lng_admin_log_filter_members_removed(tr::now));
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilterBox::Inner::createAllUsersCheckbox(const FilterValue &filter) {
|
void FilterBox::Inner::createAllUsersCheckbox(const FilterValue &filter) {
|
||||||
|
|
|
@ -723,7 +723,29 @@ void InnerWidget::preloadMore(Direction direction) {
|
||||||
}
|
}
|
||||||
|
|
||||||
auto flags = MTPchannels_GetAdminLog::Flags(0);
|
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) {
|
if (_filter.flags != 0) {
|
||||||
flags |= MTPchannels_GetAdminLog::Flag::f_events_filter;
|
flags |= MTPchannels_GetAdminLog::Flag::f_events_filter;
|
||||||
}
|
}
|
||||||
|
@ -744,7 +766,7 @@ void InnerWidget::preloadMore(Direction direction) {
|
||||||
MTP_flags(flags),
|
MTP_flags(flags),
|
||||||
_channel->inputChannel,
|
_channel->inputChannel,
|
||||||
MTP_string(_searchQuery),
|
MTP_string(_searchQuery),
|
||||||
filter,
|
MTP_channelAdminLogEventsFilter(MTP_flags(filter)),
|
||||||
MTP_vector<MTPInputUser>(admins),
|
MTP_vector<MTPInputUser>(admins),
|
||||||
MTP_long(maxId),
|
MTP_long(maxId),
|
||||||
MTP_long(minId),
|
MTP_long(minId),
|
||||||
|
|
|
@ -29,8 +29,31 @@ class InnerWidget;
|
||||||
class SectionMemento;
|
class SectionMemento;
|
||||||
|
|
||||||
struct FilterValue {
|
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.
|
// Empty "flags" means all events.
|
||||||
MTPDchannelAdminLogEventsFilter::Flags flags = 0;
|
Flags flags = 0;
|
||||||
std::vector<not_null<UserData*>> admins;
|
std::vector<not_null<UserData*>> admins;
|
||||||
bool allUsers = true;
|
bool allUsers = true;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue