71 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			1.8 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
 | |
| */
 | |
| #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,
 | |
| 		rpl::producer<QString> text,
 | |
| 		const style::margins &margins,
 | |
| 		RectParts parts) {
 | |
| 	AddDividerText(
 | |
| 		container,
 | |
| 		std::move(text) | Ui::Text::ToWithEntities(),
 | |
| 		margins,
 | |
| 		parts);
 | |
| }
 | |
| 
 | |
| void AddDividerText(
 | |
| 		not_null<Ui::VerticalLayout*> container,
 | |
| 		rpl::producer<TextWithEntities> text,
 | |
| 		const style::margins &margins,
 | |
| 		RectParts parts) {
 | |
| 	container->add(object_ptr<Ui::DividerLabel>(
 | |
| 		container,
 | |
| 		object_ptr<Ui::FlatLabel>(
 | |
| 			container,
 | |
| 			std::move(text),
 | |
| 			st::boxDividerLabel),
 | |
| 		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
 | 
