mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-04-11 04:01:18 +00:00
Add ability to completely delete legacy group.
This commit is contained in:
parent
19455d44db
commit
1774b21e88
@ -601,9 +601,7 @@ void DeleteMessagesBox::prepare() {
|
||||
deleteText = _wipeHistoryPeer->isUser()
|
||||
? tr::lng_box_delete()
|
||||
: tr::lng_box_leave();
|
||||
deleteStyle = &(peer->isChannel()
|
||||
? st::defaultBoxButton
|
||||
: st::attentionBoxButton);
|
||||
deleteStyle = &st::attentionBoxButton;
|
||||
}
|
||||
if (auto revoke = revokeText(peer)) {
|
||||
_revoke.create(this, revoke->checkbox, false, st::defaultBoxCheckbox);
|
||||
@ -702,6 +700,8 @@ auto DeleteMessagesBox::revokeText(not_null<PeerData*> peer) const
|
||||
tr::now,
|
||||
lt_user,
|
||||
user->firstName);
|
||||
} else if (_wipeHistoryJustClear) {
|
||||
return std::nullopt;
|
||||
} else {
|
||||
result.checkbox = tr::lng_delete_for_everyone_check(tr::now);
|
||||
}
|
||||
|
@ -748,7 +748,7 @@ void ManageInviteLinksBox(
|
||||
const auto deleteAll = Ui::CreateChild<Ui::LinkButton>(
|
||||
container.get(),
|
||||
tr::lng_group_invite_context_delete_all(tr::now),
|
||||
st::boxLinkButton);
|
||||
st::defaultLinkButton);
|
||||
rpl::combine(
|
||||
header->topValue(),
|
||||
container->widthValue()
|
||||
|
@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_chat.h"
|
||||
#include "data/data_folder.h"
|
||||
#include "data/data_scheduled_messages.h"
|
||||
#include "main/main_session.h"
|
||||
@ -599,11 +600,17 @@ void Histories::deleteAllMessages(
|
||||
)).done([=](const MTPBool &result) {
|
||||
finish();
|
||||
}).fail(fail).send();
|
||||
} else if (revoke && peer->isChat() && peer->asChat()->amCreator()) {
|
||||
return session().api().request(MTPmessages_DeleteChat(
|
||||
peer->asChat()->inputChat
|
||||
)).done([=](const MTPBool &result) {
|
||||
finish();
|
||||
}).fail(fail).send();
|
||||
} else {
|
||||
using Flag = MTPmessages_DeleteHistory::Flag;
|
||||
const auto flags = Flag(0)
|
||||
| (justClear ? Flag::f_just_clear : Flag(0))
|
||||
| ((peer->isUser() && revoke) ? Flag::f_revoke : Flag(0));
|
||||
| (revoke ? Flag::f_revoke : Flag(0));
|
||||
return session().api().request(MTPmessages_DeleteHistory(
|
||||
MTP_flags(flags),
|
||||
peer->input,
|
||||
|
@ -825,6 +825,8 @@ bool PeerData::canRevokeFullHistory() const {
|
||||
&& (!user->isBot() || user->isSupport())
|
||||
&& session().serverConfig().revokePrivateInbox
|
||||
&& (session().serverConfig().revokePrivateTimeLimit == 0x7FFFFFFF);
|
||||
} else if (const auto chat = asChat()) {
|
||||
return chat->amCreator();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user