mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-21 16:47:07 +02:00
Add manage_call admin right support.
This commit is contained in:
parent
d18b29efb8
commit
7983d33ad5
10 changed files with 24 additions and 8 deletions
|
@ -1881,6 +1881,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
"lng_rights_group_invite_link" = "Invite users via link";
|
||||
"lng_rights_group_invite" = "Add users";
|
||||
"lng_rights_group_pin" = "Pin messages";
|
||||
"lng_rights_group_manage_calls" = "Manage voice chats";
|
||||
"lng_rights_group_delete" = "Delete messages";
|
||||
"lng_rights_group_anonymous" = "Remain Anonymous";
|
||||
"lng_rights_add_admins" = "Add new admins";
|
||||
|
@ -2045,6 +2046,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
"lng_admin_log_admin_invite_users" = "Add members";
|
||||
"lng_admin_log_admin_invite_link" = "Invite users via link";
|
||||
"lng_admin_log_admin_pin_messages" = "Pin messages";
|
||||
"lng_admin_log_admin_manage_calls" = "Manage voice chats";
|
||||
"lng_admin_log_admin_add_admins" = "Add new admins";
|
||||
|
||||
// #feed
|
||||
|
|
|
@ -216,7 +216,8 @@ MTPChatAdminRights EditAdminBox::Defaults(not_null<PeerData*> peer) {
|
|||
| Flag::f_delete_messages
|
||||
| Flag::f_ban_users
|
||||
| Flag::f_invite_users
|
||||
| Flag::f_pin_messages)
|
||||
| Flag::f_pin_messages
|
||||
| Flag::f_manage_call)
|
||||
: (Flag::f_change_info
|
||||
| Flag::f_post_messages
|
||||
| Flag::f_edit_messages
|
||||
|
|
|
@ -135,6 +135,7 @@ std::vector<std::pair<ChatAdminRights, QString>> AdminRightLabels(
|
|||
? tr::lng_rights_group_invite_link(tr::now)
|
||||
: tr::lng_rights_group_invite(tr::now) },
|
||||
{ Flag::f_pin_messages, tr::lng_rights_group_pin(tr::now) },
|
||||
{ Flag::f_manage_call, tr::lng_rights_group_manage_calls(tr::now) },
|
||||
{ Flag::f_anonymous, tr::lng_rights_group_anonymous(tr::now) },
|
||||
{ Flag::f_add_admins, tr::lng_rights_add_admins(tr::now) },
|
||||
};
|
||||
|
|
|
@ -19,7 +19,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "ui/effects/ripple_animation.h"
|
||||
#include "main/main_session.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "facades.h"
|
||||
#include "facades.h" // Ui::showPeerHistory.
|
||||
#include "mainwindow.h" // App::wnd()->activate.
|
||||
#include "styles/style_calls.h"
|
||||
|
||||
namespace Calls {
|
||||
|
@ -50,7 +51,7 @@ public:
|
|||
return QSize(_st->width, _st->height);
|
||||
}
|
||||
bool actionDisabled() const override {
|
||||
return peer()->isSelf() || !_channel->amCreator();
|
||||
return peer()->isSelf() || !_channel->canManageCall();
|
||||
}
|
||||
QMargins actionMargins() const override {
|
||||
return QMargins(
|
||||
|
@ -403,6 +404,7 @@ auto MembersController::toggleMuteRequests() const
|
|||
|
||||
void MembersController::rowClicked(not_null<PeerListRow*> row) {
|
||||
Ui::showPeerHistory(row->peer(), ShowAtUnreadMsgId);
|
||||
App::wnd()->activate();
|
||||
}
|
||||
|
||||
void MembersController::rowActionClicked(
|
||||
|
|
|
@ -523,6 +523,10 @@ bool ChannelData::canRestrictUser(not_null<UserData*> user) const {
|
|||
return adminRights() & AdminRight::f_ban_users;
|
||||
}
|
||||
|
||||
bool ChannelData::canManageCall() const {
|
||||
return amCreator() || (adminRights() & AdminRight::f_manage_call);
|
||||
}
|
||||
|
||||
void ChannelData::setAdminRights(const MTPChatAdminRights &rights) {
|
||||
if (rights.c_chatAdminRights().vflags().v == adminRights()) {
|
||||
return;
|
||||
|
|
|
@ -306,6 +306,7 @@ public:
|
|||
[[nodiscard]] bool canDelete() const;
|
||||
[[nodiscard]] bool canEditAdmin(not_null<UserData*> user) const;
|
||||
[[nodiscard]] bool canRestrictUser(not_null<UserData*> user) const;
|
||||
[[nodiscard]] bool canManageCall() const;
|
||||
|
||||
void setInviteLink(const QString &newInviteLink);
|
||||
[[nodiscard]] QString inviteLink() const;
|
||||
|
|
|
@ -44,7 +44,8 @@ auto ChatData::DefaultAdminRights() -> AdminRights {
|
|||
| Flag::f_delete_messages
|
||||
| Flag::f_ban_users
|
||||
| Flag::f_invite_users
|
||||
| Flag::f_pin_messages;
|
||||
| Flag::f_pin_messages
|
||||
| Flag::f_manage_call;
|
||||
}
|
||||
|
||||
bool ChatData::canWrite() const {
|
||||
|
|
|
@ -212,8 +212,8 @@ void GroupCall::applyParticipantsSlice(
|
|||
});
|
||||
}
|
||||
ranges::sort(_participants, std::greater<>(), [](const Participant &p) {
|
||||
return p.lastActivePrecise
|
||||
? p.lastActivePrecise
|
||||
return p.lastSpoke
|
||||
? p.lastSpoke
|
||||
: p.lastActive
|
||||
? p.lastActive
|
||||
: p.date;
|
||||
|
|
|
@ -25,7 +25,7 @@ public:
|
|||
not_null<UserData*> user;
|
||||
TimeId date = 0;
|
||||
TimeId lastActive = 0;
|
||||
TimeId lastActivePrecise = 0;
|
||||
TimeId lastSpoke = 0;
|
||||
uint32 source = 0;
|
||||
bool muted = false;
|
||||
bool canSelfUnmute = false;
|
||||
|
|
|
@ -164,6 +164,7 @@ TextWithEntities GenerateAdminChangeText(
|
|||
{ Flag::f_ban_users, tr::lng_admin_log_admin_ban_users },
|
||||
{ Flag::f_invite_users, invitePhrase },
|
||||
{ Flag::f_pin_messages, tr::lng_admin_log_admin_pin_messages },
|
||||
{ Flag::f_manage_call, tr::lng_admin_log_admin_manage_calls },
|
||||
{ Flag::f_add_admins, tr::lng_admin_log_admin_add_admins },
|
||||
};
|
||||
phraseMap[Flag::f_invite_users] = invitePhrase;
|
||||
|
@ -197,7 +198,10 @@ QString GenerateBannedChangeText(
|
|||
{ Flag::f_view_messages, tr::lng_admin_log_banned_view_messages },
|
||||
{ Flag::f_send_messages, tr::lng_admin_log_banned_send_messages },
|
||||
{ Flag::f_send_media, tr::lng_admin_log_banned_send_media },
|
||||
{ Flag::f_send_stickers | Flag::f_send_gifs | Flag::f_send_inline | Flag::f_send_games, tr::lng_admin_log_banned_send_stickers },
|
||||
{ Flag::f_send_stickers
|
||||
| Flag::f_send_gifs
|
||||
| Flag::f_send_inline
|
||||
| Flag::f_send_games, tr::lng_admin_log_banned_send_stickers },
|
||||
{ Flag::f_embed_links, tr::lng_admin_log_banned_embed_links },
|
||||
{ Flag::f_send_polls, tr::lng_admin_log_banned_send_polls },
|
||||
{ Flag::f_change_info, tr::lng_admin_log_admin_change_info },
|
||||
|
|
Loading…
Add table
Reference in a new issue