| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
- 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
- class HistoryItem;
- class PeerData;
- class PhotoData;
- namespace Ui {
- class Show;
- enum class ReportReason;
- } // namespace Ui
- namespace Data {
- struct ReportInput;
- } // namespace Data
- namespace Api {
- struct ReportResult final {
- using Id = QByteArray;
- struct Option final {
- Id id = 0;
- QString text;
- };
- using Options = std::vector<Option>;
- Options options;
- QString title;
- QString error;
- QString comment;
- struct CommentOption {
- bool optional = false;
- Id id = 0;
- };
- std::optional<CommentOption> commentOption;
- bool successful = false;
- };
- void SendPhotoReport(
- std::shared_ptr<Ui::Show> show,
- not_null<PeerData*> peer,
- Ui::ReportReason reason,
- const QString &comment,
- not_null<PhotoData*> photo);
- [[nodiscard]] auto CreateReportMessagesOrStoriesCallback(
- std::shared_ptr<Ui::Show> show,
- not_null<PeerData*> peer)
- -> Fn<void(Data::ReportInput, Fn<void(ReportResult)>)>;
- } // namespace Api
|