mirror of
https://github.com/vale981/tdesktop
synced 2025-03-06 10:11:41 -05:00
64 lines
1.3 KiB
C++
64 lines
1.3 KiB
C++
/*
|
|
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 "boxes/abstract_box.h"
|
|
|
|
namespace Ui {
|
|
class LinkButton;
|
|
class InputField;
|
|
} // namespace Ui
|
|
|
|
namespace Passport {
|
|
|
|
class PanelController;
|
|
struct ScanInfo;
|
|
class ScanButton;
|
|
|
|
struct IdentityData {
|
|
QString name;
|
|
QString surname;
|
|
};
|
|
|
|
class IdentityBox : public BoxContent {
|
|
public:
|
|
IdentityBox(
|
|
QWidget*,
|
|
not_null<PanelController*> controller,
|
|
int valueIndex,
|
|
const IdentityData &data,
|
|
std::vector<ScanInfo> &&files);
|
|
|
|
protected:
|
|
void prepare() override;
|
|
void setInnerFocus() override;
|
|
|
|
void resizeEvent(QResizeEvent *e) override;
|
|
|
|
private:
|
|
void chooseScan();
|
|
void encryptScan(const QString &path);
|
|
void encryptScanContent(QByteArray &&content);
|
|
void updateScan(ScanInfo &&info);
|
|
int countHeight() const;
|
|
void updateControlsPosition();
|
|
void save();
|
|
|
|
not_null<PanelController*> _controller;
|
|
int _valueIndex = -1;
|
|
|
|
std::vector<ScanInfo> _files;
|
|
|
|
std::vector<object_ptr<ScanButton>> _scans;
|
|
object_ptr<Ui::LinkButton> _uploadScan;
|
|
object_ptr<Ui::InputField> _name;
|
|
object_ptr<Ui::InputField> _surname;
|
|
|
|
};
|
|
|
|
} // namespace Passport
|