/* 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 "ui/rp_widget.h" class BoxContentDivider; namespace Ui { class VerticalLayout; class FlatLabel; template class SlideWrap; } // namespace Ui namespace Info { namespace Profile { class Button; } // namespace Profile } // namespace Info namespace Passport { class PanelController; class ScanButton; struct ScanInfo; class EditScans : public Ui::RpWidget { public: EditScans( QWidget *parent, not_null controller, const QString &header, std::vector &&files); static void ChooseScan(base::lambda callback); private: void setupContent(const QString &header); void chooseScan(); void updateScan(ScanInfo &&info); void pushScan(const ScanInfo &info); rpl::producer uploadButtonText() const; not_null _controller; std::vector _files; object_ptr _content; QPointer> _divider; QPointer> _header; QPointer _wrap; std::vector>> _rows; QPointer _upload; rpl::event_stream> _uploadTexts; }; } // namespace Passport