mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-15 13:47:05 +02:00
Allow newRequirePremium for free if server allows.
This commit is contained in:
parent
da7a796edb
commit
68ded1a6e0
3 changed files with 15 additions and 7 deletions
|
@ -141,6 +141,8 @@ void GlobalPrivacy::update(
|
|||
using Flag = MTPDglobalPrivacySettings::Flag;
|
||||
|
||||
_api.request(_requestId).cancel();
|
||||
const auto newRequirePremiumAllowed = _session->premium()
|
||||
|| _session->appConfig().newRequirePremiumFree();
|
||||
const auto flags = Flag()
|
||||
| (archiveAndMute
|
||||
? Flag::f_archive_and_mute_new_noncontact_peers
|
||||
|
@ -152,7 +154,7 @@ void GlobalPrivacy::update(
|
|||
? Flag::f_keep_archived_folders
|
||||
: Flag())
|
||||
| (hideReadTime ? Flag::f_hide_read_marks : Flag())
|
||||
| ((newRequirePremium && _session->premium())
|
||||
| ((newRequirePremium && newRequirePremiumAllowed)
|
||||
? Flag::f_new_noncontact_peers_require_premium
|
||||
: Flag());
|
||||
_requestId = _api.request(MTPaccount_SetGlobalPrivacySettings(
|
||||
|
|
|
@ -23,6 +23,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "calls/calls_instance.h"
|
||||
#include "lang/lang_keys.h"
|
||||
#include "apiwrap.h"
|
||||
#include "main/main_app_config.h"
|
||||
#include "main/main_session.h"
|
||||
#include "data/data_user.h"
|
||||
#include "data/data_chat.h"
|
||||
|
@ -488,7 +489,10 @@ void EditMessagesPrivacyBox(
|
|||
constexpr auto kOptionAll = 0;
|
||||
constexpr auto kOptionPremium = 1;
|
||||
|
||||
const auto premium = controller->session().premium();
|
||||
const auto allowed = [=] {
|
||||
return controller->session().premium()
|
||||
|| controller->session().appConfig().newRequirePremiumFree();
|
||||
};
|
||||
const auto privacy = &controller->session().api().globalPrivacy();
|
||||
const auto inner = box->verticalLayout();
|
||||
inner->add(object_ptr<Ui::PlainShadow>(box));
|
||||
|
@ -550,7 +554,7 @@ void EditMessagesPrivacyBox(
|
|||
}),
|
||||
});
|
||||
};
|
||||
if (!premium) {
|
||||
if (!allowed()) {
|
||||
CreateRadiobuttonLock(restricted, st::messagePrivacyCheck);
|
||||
|
||||
group->setChangedCallback([=](int value) {
|
||||
|
@ -562,7 +566,7 @@ void EditMessagesPrivacyBox(
|
|||
}
|
||||
|
||||
Ui::AddDividerText(inner, tr::lng_messages_privacy_about());
|
||||
if (!premium) {
|
||||
if (!allowed()) {
|
||||
Ui::AddSkip(inner);
|
||||
Settings::AddButtonWithIcon(
|
||||
inner,
|
||||
|
@ -581,7 +585,7 @@ void EditMessagesPrivacyBox(
|
|||
});
|
||||
} else {
|
||||
box->addButton(tr::lng_settings_save(), [=] {
|
||||
if (controller->session().premium()) {
|
||||
if (allowed()) {
|
||||
privacy->updateNewRequirePremium(
|
||||
group->current() == kOptionPremium);
|
||||
box->closeBox();
|
||||
|
|
|
@ -47,6 +47,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "data/data_chat.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_peer_values.h"
|
||||
#include "main/main_app_config.h"
|
||||
#include "main/main_domain.h"
|
||||
#include "main/main_session.h"
|
||||
#include "storage/storage_domain.h"
|
||||
|
@ -307,8 +308,9 @@ void AddMessagesPrivacyButton(
|
|||
button->addClickHandler([=] {
|
||||
controller->show(Box(EditMessagesPrivacyBox, controller));
|
||||
});
|
||||
|
||||
AddPremiumStar(button, session, rpl::duplicate(label), st.padding);
|
||||
if (!session->appConfig().newRequirePremiumFree()) {
|
||||
AddPremiumStar(button, session, rpl::duplicate(label), st.padding);
|
||||
}
|
||||
}
|
||||
|
||||
rpl::producer<int> BlockedPeersCount(not_null<::Main::Session*> session) {
|
||||
|
|
Loading…
Add table
Reference in a new issue