2021-01-19 07:14:50 +00:00
|
|
|
/*
|
|
|
|
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/generic_box.h"
|
|
|
|
|
2022-03-06 09:07:43 +00:00
|
|
|
namespace style {
|
|
|
|
struct FlatLabel;
|
|
|
|
struct InputField;
|
|
|
|
struct CalendarColors;
|
|
|
|
} // namespace style
|
|
|
|
|
2021-01-19 07:14:50 +00:00
|
|
|
namespace Ui {
|
|
|
|
|
|
|
|
class RoundButton;
|
|
|
|
|
|
|
|
struct ChooseDateTimeBoxDescriptor {
|
|
|
|
QPointer<RoundButton> submit;
|
|
|
|
Fn<TimeId()> collect;
|
2021-04-05 10:29:03 +00:00
|
|
|
rpl::producer<TimeId> values;
|
2021-01-19 07:14:50 +00:00
|
|
|
};
|
|
|
|
|
2022-03-06 09:07:43 +00:00
|
|
|
struct ChooseDateTimeStyleArgs {
|
|
|
|
ChooseDateTimeStyleArgs();
|
|
|
|
const style::FlatLabel *labelStyle;
|
|
|
|
const style::InputField *dateFieldStyle;
|
|
|
|
const style::InputField *timeFieldStyle;
|
|
|
|
const style::FlatLabel *separatorStyle;
|
|
|
|
const style::FlatLabel *atStyle;
|
|
|
|
const style::CalendarColors *calendarStyle;
|
|
|
|
};
|
|
|
|
|
2021-04-09 13:59:43 +00:00
|
|
|
struct ChooseDateTimeBoxArgs {
|
|
|
|
rpl::producer<QString> title;
|
|
|
|
rpl::producer<QString> submit;
|
|
|
|
Fn<void(TimeId)> done;
|
|
|
|
Fn<TimeId()> min;
|
|
|
|
TimeId time = 0;
|
|
|
|
Fn<TimeId()> max;
|
|
|
|
rpl::producer<QString> description;
|
2022-03-06 09:07:43 +00:00
|
|
|
ChooseDateTimeStyleArgs style;
|
2021-04-09 13:59:43 +00:00
|
|
|
};
|
|
|
|
|
2021-01-19 07:14:50 +00:00
|
|
|
ChooseDateTimeBoxDescriptor ChooseDateTimeBox(
|
|
|
|
not_null<GenericBox*> box,
|
2021-04-09 13:59:43 +00:00
|
|
|
ChooseDateTimeBoxArgs &&args);
|
2021-01-19 07:14:50 +00:00
|
|
|
|
|
|
|
} // namespace Ui
|