mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-18 23:27:09 +02:00
Show 'about' in voice chats for everyone.
This commit is contained in:
parent
ecbbdd5e74
commit
cd8c9a58df
3 changed files with 25 additions and 19 deletions
|
@ -374,9 +374,7 @@ Row::Row(
|
|||
: PeerListRow(participantPeer)
|
||||
, _delegate(delegate) {
|
||||
refreshStatus();
|
||||
if (const auto channel = participantPeer->asChannel()) {
|
||||
_aboutText = channel->about();
|
||||
}
|
||||
_aboutText = participantPeer->about();
|
||||
}
|
||||
|
||||
void Row::setSkipLevelUpdate(bool value) {
|
||||
|
@ -882,10 +880,8 @@ MembersController::MembersController(
|
|||
_peer->session().changes().peerUpdates(
|
||||
Data::PeerUpdate::Flag::About
|
||||
) | rpl::start_with_next([=](const Data::PeerUpdate &update) {
|
||||
if (const auto channel = update.peer->asChannel()) {
|
||||
if (const auto row = findRow(channel)) {
|
||||
row->setAbout(channel->about());
|
||||
}
|
||||
if (const auto row = findRow(update.peer)) {
|
||||
row->setAbout(update.peer->about());
|
||||
}
|
||||
}, _lifetime);
|
||||
}
|
||||
|
@ -1681,7 +1677,10 @@ void MembersController::addMuteActionsToContextMenu(
|
|||
|| isMe(participantPeer)
|
||||
|| (muteState == Row::State::Inactive
|
||||
&& participantIsCallAdmin
|
||||
&& _peer->canManageGroupCall())) {
|
||||
&& _peer->canManageGroupCall())
|
||||
|| (isMuted
|
||||
&& !_peer->canManageGroupCall()
|
||||
&& muteState != Row::State::MutedByMe)) {
|
||||
return nullptr;
|
||||
}
|
||||
auto callback = [=] {
|
||||
|
@ -1800,13 +1799,18 @@ rpl::producer<int> GroupMembers::desiredHeightValue() const {
|
|||
void GroupMembers::setupAddMember(not_null<GroupCall*> call) {
|
||||
using namespace rpl::mappers;
|
||||
|
||||
_canAddMembers = Data::CanWriteValue(call->peer().get());
|
||||
SubscribeToMigration(
|
||||
call->peer(),
|
||||
lifetime(),
|
||||
[=](not_null<ChannelData*> channel) {
|
||||
_canAddMembers = Data::CanWriteValue(channel.get());
|
||||
});
|
||||
const auto peer = call->peer();
|
||||
if (peer->isBroadcast()) {
|
||||
_canAddMembers = false; // #TODO calls invite members?
|
||||
} else {
|
||||
_canAddMembers = Data::CanWriteValue(peer.get());
|
||||
SubscribeToMigration(
|
||||
peer,
|
||||
lifetime(),
|
||||
[=](not_null<ChannelData*> channel) {
|
||||
_canAddMembers = Data::CanWriteValue(channel.get());
|
||||
});
|
||||
}
|
||||
|
||||
_canAddMembers.value(
|
||||
) | rpl::start_with_next([=](bool can) {
|
||||
|
|
|
@ -283,7 +283,11 @@ GroupPanel::GroupPanel(not_null<GroupCall*> call)
|
|||
showAndActivate();
|
||||
}
|
||||
|
||||
GroupPanel::~GroupPanel() = default;
|
||||
GroupPanel::~GroupPanel() {
|
||||
if (_menu) {
|
||||
_menu.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
void GroupPanel::setupRealCallViewers(not_null<GroupCall*> call) {
|
||||
const auto peer = call->peer();
|
||||
|
|
|
@ -276,9 +276,7 @@ void GroupCall::applyParticipantsSlice(
|
|||
return;
|
||||
}
|
||||
if (const auto about = data.vabout()) {
|
||||
if (const auto channel = participantPeer->asChannel()) {
|
||||
channel->setAbout(qs(*about));
|
||||
}
|
||||
participantPeer->setAbout(qs(*about));
|
||||
}
|
||||
const auto was = (i != end(_participants))
|
||||
? std::make_optional(*i)
|
||||
|
|
Loading…
Add table
Reference in a new issue