Version 4.9.1: Fix states of archive settings.

Fixes #26510.
This commit is contained in:
John Preston 2023-08-15 19:16:50 +02:00
parent 3fe9ba41ba
commit b871a29275
2 changed files with 5 additions and 5 deletions

View File

@ -103,10 +103,10 @@ void GlobalPrivacy::update(
| (archiveAndMute
? Flag::f_archive_and_mute_new_noncontact_peers
: Flag())
| (unarchiveOnNewMessage == UnarchiveOnNewMessage::AnyUnmuted
| (unarchiveOnNewMessage == UnarchiveOnNewMessage::None
? Flag::f_keep_archived_unmuted
: Flag())
| (unarchiveOnNewMessage != UnarchiveOnNewMessage::None
| (unarchiveOnNewMessage != UnarchiveOnNewMessage::AnyUnmuted
? Flag::f_keep_archived_folders
: Flag());
_requestId = _api.request(MTPaccount_SetGlobalPrivacySettings(
@ -125,10 +125,10 @@ void GlobalPrivacy::apply(const MTPGlobalPrivacySettings &data) {
data.match([&](const MTPDglobalPrivacySettings &data) {
_archiveAndMute = data.is_archive_and_mute_new_noncontact_peers();
_unarchiveOnNewMessage = data.is_keep_archived_unmuted()
? UnarchiveOnNewMessage::AnyUnmuted
? UnarchiveOnNewMessage::None
: data.is_keep_archived_folders()
? UnarchiveOnNewMessage::NotInFoldersUnmuted
: UnarchiveOnNewMessage::None;
: UnarchiveOnNewMessage::AnyUnmuted;
});
}

View File

@ -726,6 +726,7 @@ void ArchiveSettingsBox(
))->toggledChanges(
) | rpl::filter([=](bool toggled) {
const auto current = privacy->unarchiveOnNewMessageCurrent();
state->foldersWrap->toggle(!toggled, anim::type::normal);
return toggled != (current == Unarchive::None);
}) | rpl::start_with_next([=](bool toggled) {
privacy->updateUnarchiveOnNewMessage(toggled
@ -733,7 +734,6 @@ void ArchiveSettingsBox(
: state->folders->toggled()
? Unarchive::NotInFoldersUnmuted
: Unarchive::AnyUnmuted);
state->foldersWrap->toggle(!toggled, anim::type::normal);
}, container->lifetime());
AddSkip(container);