// This is the source code of AyuGram for Desktop. // // We do not and cannot prevent the use of our code, // but be respectful and credit the original author. // // Copyright @Radolyn, 2025 #pragma once #include "settings/settings_common.h" #include "ui/widgets/buttons.h" #include "ui/widgets/checkbox.h" #include "ui/wrap/slide_wrap.h" namespace Window { class SessionController; } // namespace Window namespace Settings { struct NestedEntry { QString checkboxLabel; bool initial; std::function callback; }; rpl::producer asBeta(rpl::producer text); not_null AddInnerToggle(not_null container, const style::SettingsButton &st, std::vector> innerCheckViews, not_null*> wrap, rpl::producer buttonLabel, bool toggledWhenAll); void AddCollapsibleToggle(not_null container, rpl::producer title, std::vector checkboxes, bool toggledWhenAll); void AddChooseButtonWithIconAndRightTextInner(not_null container, not_null controller, int initialState, std::vector options, rpl::producer text, rpl::producer boxTitle, const style::SettingsButton &st, Settings::IconDescriptor &&descriptor, const Fn &setter); void AddChooseButtonWithIconAndRightText(not_null container, not_null controller, int initialState, std::vector options, rpl::producer text, rpl::producer boxTitle, const style::icon &icon, const Fn &setter); void AddChooseButtonWithIconAndRightText(not_null container, not_null controller, int initialState, std::vector options, rpl::producer text, rpl::producer boxTitle, const Fn &setter); } // namespace Settings