Allow group / channel type box if !can_edit_username.

This commit is contained in:
John Preston 2021-11-22 13:32:04 +04:00
parent 596c4a06a3
commit 4cb6e4b787

View file

@ -206,25 +206,26 @@ void Controller::createContent() {
AddSkip(_wrap.get()); AddSkip(_wrap.get());
AddDividerText(_wrap.get(), tr::lng_group_invite_manage_about()); AddDividerText(_wrap.get(), tr::lng_group_invite_manage_about());
AddSkip(_wrap.get()); if (!_linkOnly) {
AddSubsectionTitle(_wrap.get(), tr::lng_manage_peer_no_forwards_title()); AddSkip(_wrap.get());
_controls.noForwards = _wrap->add(EditPeerInfoBox::CreateButton( AddSubsectionTitle(_wrap.get(), tr::lng_manage_peer_no_forwards_title());
_wrap.get(), _controls.noForwards = _wrap->add(EditPeerInfoBox::CreateButton(
tr::lng_manage_peer_no_forwards(), _wrap.get(),
rpl::single(QString()), tr::lng_manage_peer_no_forwards(),
[=] {}, rpl::single(QString()),
st::manageGroupTopButtonWithText, [=] {},
nullptr st::manageGroupTopButtonWithText,
)); nullptr
_controls.noForwards->toggleOn( ));
rpl::single(_noForwardsSavedValue.value_or(false)) _controls.noForwards->toggleOn(
)->toggledValue( rpl::single(_noForwardsSavedValue.value_or(false))
) | rpl::start_with_next([=](bool toggled) { )->toggledValue(
_noForwardsSavedValue = toggled; ) | rpl::start_with_next([=](bool toggled) {
}, _wrap->lifetime()); _noForwardsSavedValue = toggled;
AddSkip(_wrap.get()); }, _wrap->lifetime());
AddDividerText(_wrap.get(), tr::lng_manage_peer_no_forwards_about()); AddSkip(_wrap.get());
AddDividerText(_wrap.get(), tr::lng_manage_peer_no_forwards_about());
}
if (_linkOnly) { if (_linkOnly) {
_controls.inviteLinkWrap->show(anim::type::instant); _controls.inviteLinkWrap->show(anim::type::instant);
} else { } else {
@ -267,15 +268,7 @@ void Controller::addRoundButton(
void Controller::fillPrivaciesButtons( void Controller::fillPrivaciesButtons(
not_null<Ui::VerticalLayout*> parent, not_null<Ui::VerticalLayout*> parent,
std::optional<Privacy> savedValue) { std::optional<Privacy> savedValue) {
const auto canEditUsername = [&] { if (_linkOnly) {
if (const auto chat = _peer->asChat()) {
return chat->canEditUsername();
} else if (const auto channel = _peer->asChannel()) {
return channel->canEditUsername();
}
Unexpected("Peer type in Controller::createPrivaciesEdit.");
}();
if (!canEditUsername || _linkOnly) {
return; return;
} }