/* 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 "data/business/data_business_common.h" #include "settings/settings_common_session.h" class FilterChatsPreview; namespace Ui { class VerticalLayout; } // namespace Ui namespace Window { class SessionController; } // namespace Window namespace Settings { template class BusinessSection : public Section { public: BusinessSection( QWidget *parent, not_null controller) : Section(parent) , _controller(controller) { } [[nodiscard]] not_null controller() const { return _controller; } [[nodiscard]] rpl::producer<> showFinishes() const { return _showFinished.events(); } private: void showFinished() override { _showFinished.fire({}); } const not_null _controller; rpl::event_stream<> _showFinished; }; struct BusinessChatsDescriptor { Data::BusinessChats current; Fn save; bool include = false; }; void EditBusinessChats( not_null window, BusinessChatsDescriptor &&descriptor); not_null SetupBusinessChatsPreview( not_null container, not_null*> data); struct BusinessRecipientsSelectorDescriptor { not_null controller; rpl::producer title; not_null*> data; }; void AddBusinessRecipientsSelector( not_null container, BusinessRecipientsSelectorDescriptor &&descriptor); } // namespace Settings