tdesktop/Telegram/SourceFiles/boxes/translate_box.h

47 lines
1.2 KiB
C
Raw Normal View History

/*
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
2023-01-30 10:10:42 +00:00
#include "base/object_ptr.h"
class History;
class PeerData;
2023-01-30 10:10:42 +00:00
struct LanguageId;
namespace Ui {
2023-01-30 10:10:42 +00:00
class BoxContent;
class GenericBox;
void TranslateBox(
2023-01-30 10:10:42 +00:00
not_null<GenericBox*> box,
not_null<PeerData*> peer,
MsgId msgId,
TextWithEntities text,
bool hasCopyRestriction);
[[nodiscard]] bool SkipTranslate(TextWithEntities textWithEntities);
2023-01-30 10:10:42 +00:00
[[nodiscard]] object_ptr<BoxContent> EditSkipTranslationLanguages();
[[nodiscard]] object_ptr<BoxContent> ChooseTranslateToBox(
LanguageId bringUp,
Fn<void(LanguageId)> callback);
[[nodiscard]] LanguageId ChooseTranslateTo(not_null<History*> history);
[[nodiscard]] LanguageId ChooseTranslateTo(LanguageId offeredFrom);
[[nodiscard]] LanguageId ChooseTranslateTo(
not_null<History*> history,
LanguageId savedTo,
const std::vector<LanguageId> &skip);
[[nodiscard]] LanguageId ChooseTranslateTo(
LanguageId offeredFrom,
LanguageId savedTo,
const std::vector<LanguageId> &skip);
2022-11-18 10:42:12 +00:00
} // namespace Ui