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