| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*
- 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/layers/box_content.h"
- #include "mtproto/sender.h"
- namespace Ui {
- class RadiobuttonGroup;
- class Radiobutton;
- class FlatLabel;
- } // namespace Ui
- namespace Main {
- class Session;
- } // namespace Main
- class SelfDestructionBox : public Ui::BoxContent {
- public:
- enum class Type {
- Account,
- Sessions,
- };
- SelfDestructionBox(
- QWidget*,
- not_null<Main::Session*> session,
- Type type,
- rpl::producer<int> preloaded);
- static QString DaysLabel(int days);
- protected:
- void prepare() override;
- private:
- void gotCurrent(int days);
- void showContent();
- const Type _type;
- const not_null<Main::Session*> _session;
- bool _prepared = false;
- std::vector<int> _ttlValues;
- object_ptr<Ui::FlatLabel> _description = { nullptr };
- object_ptr<Ui::FlatLabel> _loading;
- std::shared_ptr<Ui::RadiobuttonGroup> _ttlGroup;
- };
|