tdesktop/Telegram/SourceFiles/ui/vertical_list.cpp

72 lines
1.8 KiB
C++
Raw Normal View History

/*
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
*/
#include "ui/vertical_list.h"
#include "ui/text/text_utilities.h"
#include "ui/widgets/box_content_divider.h"
#include "ui/widgets/labels.h"
#include "ui/wrap/padding_wrap.h"
#include "ui/wrap/vertical_layout.h"
#include "styles/style_layers.h"
namespace Ui {
void AddSkip(not_null<Ui::VerticalLayout*> container) {
AddSkip(container, st::defaultVerticalListSkip);
}
void AddSkip(not_null<Ui::VerticalLayout*> container, int skip) {
container->add(object_ptr<Ui::FixedHeightWidget>(container, skip));
}
void AddDivider(not_null<Ui::VerticalLayout*> container) {
container->add(object_ptr<Ui::BoxContentDivider>(container));
}
void AddDividerText(
not_null<Ui::VerticalLayout*> container,
2024-02-17 20:25:40 +00:00
rpl::producer<QString> text,
2024-02-20 10:33:46 +00:00
const style::margins &margins,
RectParts parts) {
2024-02-17 20:25:40 +00:00
AddDividerText(
container,
std::move(text) | Ui::Text::ToWithEntities(),
2024-02-20 10:33:46 +00:00
margins,
parts);
}
void AddDividerText(
not_null<Ui::VerticalLayout*> container,
2024-02-17 20:25:40 +00:00
rpl::producer<TextWithEntities> text,
2024-02-20 10:33:46 +00:00
const style::margins &margins,
RectParts parts) {
container->add(object_ptr<Ui::DividerLabel>(
container,
object_ptr<Ui::FlatLabel>(
container,
std::move(text),
st::boxDividerLabel),
2024-02-20 10:33:46 +00:00
margins,
parts));
}
not_null<Ui::FlatLabel*> AddSubsectionTitle(
not_null<Ui::VerticalLayout*> container,
rpl::producer<QString> text,
style::margins addPadding,
const style::FlatLabel *st) {
return container->add(
object_ptr<Ui::FlatLabel>(
container,
std::move(text),
st ? *st : st::defaultSubsectionTitle),
st::defaultSubsectionTitlePadding + addPadding);
}
} // namespace Ui