init
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
This commit is contained in:
133
Telegram/SourceFiles/export/export_settings.h
Normal file
133
Telegram/SourceFiles/export/export_settings.h
Normal file
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
This file is part of Telegram Desktop,
|
||||
the official desktop application for the Telegram messaging service.
|
||||
|
||||
For license and copyright information please follow this link:
|
||||
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "base/flags.h"
|
||||
#include "base/flat_map.h"
|
||||
|
||||
namespace Export {
|
||||
namespace Output {
|
||||
enum class Format;
|
||||
} // namespace Output
|
||||
|
||||
struct MediaSettings {
|
||||
bool validate() const;
|
||||
|
||||
enum class Type {
|
||||
Photo = 0x01,
|
||||
Video = 0x02,
|
||||
VoiceMessage = 0x04,
|
||||
VideoMessage = 0x08,
|
||||
Sticker = 0x10,
|
||||
GIF = 0x20,
|
||||
File = 0x40,
|
||||
|
||||
MediaMask = Photo | Video | VoiceMessage | VideoMessage,
|
||||
AllMask = MediaMask | Sticker | GIF | File,
|
||||
};
|
||||
using Types = base::flags<Type>;
|
||||
friend inline constexpr auto is_flag_type(Type) { return true; };
|
||||
|
||||
Types types = DefaultTypes();
|
||||
int64 sizeLimit = 8 * 1024 * 1024;
|
||||
|
||||
static inline Types DefaultTypes() {
|
||||
return Type::Photo;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
struct Settings {
|
||||
bool validate() const;
|
||||
|
||||
enum class Type {
|
||||
PersonalInfo = 0x001,
|
||||
Userpics = 0x002,
|
||||
Contacts = 0x004,
|
||||
Sessions = 0x008,
|
||||
OtherData = 0x010,
|
||||
PersonalChats = 0x020,
|
||||
BotChats = 0x040,
|
||||
PrivateGroups = 0x080,
|
||||
PublicGroups = 0x100,
|
||||
PrivateChannels = 0x200,
|
||||
PublicChannels = 0x400,
|
||||
Stories = 0x800,
|
||||
ProfileMusic = 0x1000,
|
||||
|
||||
GroupsMask = PrivateGroups | PublicGroups,
|
||||
ChannelsMask = PrivateChannels | PublicChannels,
|
||||
GroupsChannelsMask = GroupsMask | ChannelsMask,
|
||||
NonChannelChatsMask = PersonalChats | BotChats | PrivateGroups,
|
||||
AnyChatsMask = PersonalChats | BotChats | GroupsChannelsMask,
|
||||
NonChatsMask = (PersonalInfo
|
||||
| Userpics
|
||||
| Contacts
|
||||
| Stories
|
||||
| ProfileMusic
|
||||
| Sessions),
|
||||
AllMask = NonChatsMask | OtherData | AnyChatsMask,
|
||||
};
|
||||
using Types = base::flags<Type>;
|
||||
friend inline constexpr auto is_flag_type(Type) { return true; };
|
||||
|
||||
QString path;
|
||||
bool forceSubPath = false;
|
||||
Output::Format format = Output::Format();
|
||||
|
||||
Types types = DefaultTypes();
|
||||
Types fullChats = DefaultFullChats();
|
||||
MediaSettings media;
|
||||
|
||||
MTPInputPeer singlePeer = MTP_inputPeerEmpty();
|
||||
TimeId singlePeerFrom = 0;
|
||||
TimeId singlePeerTill = 0;
|
||||
|
||||
int32 singleTopicRootId = 0;
|
||||
uint64 singleTopicPeerId = 0;
|
||||
QString singleTopicTitle;
|
||||
|
||||
TimeId availableAt = 0;
|
||||
|
||||
bool onlySinglePeer() const {
|
||||
return singlePeer.type() != mtpc_inputPeerEmpty;
|
||||
}
|
||||
|
||||
bool onlySingleTopic() const {
|
||||
return onlySinglePeer() && singleTopicRootId != 0;
|
||||
}
|
||||
|
||||
static inline Types DefaultTypes() {
|
||||
return Type::PersonalInfo
|
||||
| Type::Userpics
|
||||
| Type::Contacts
|
||||
| Type::Stories
|
||||
| Type::ProfileMusic
|
||||
| Type::PersonalChats
|
||||
| Type::PrivateGroups;
|
||||
}
|
||||
|
||||
static inline Types DefaultFullChats() {
|
||||
return Type::PersonalChats
|
||||
| Type::BotChats;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
struct Environment {
|
||||
QString internalLinksDomain;
|
||||
QByteArray aboutTelegram;
|
||||
QByteArray aboutContacts;
|
||||
QByteArray aboutFrequent;
|
||||
QByteArray aboutSessions;
|
||||
QByteArray aboutWebSessions;
|
||||
QByteArray aboutChats;
|
||||
QByteArray aboutLeftChats;
|
||||
};
|
||||
|
||||
} // namespace Export
|
||||
Reference in New Issue
Block a user