// 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 #include "settings_chats.h" #include #include "lang_auto.h" #include "ayu/ayu_settings.h" #include "ayu/ui/boxes/edit_mark_box.h" #include "ayu/ui/settings/settings_ayu_utils.h" #include "core/application.h" #include "settings/settings_common.h" #include "styles/style_ayu_styles.h" #include "styles/style_boxes.h" #include "styles/style_menu_icons.h" #include "styles/style_settings.h" #include "ui/vertical_list.h" #include "ui/boxes/confirm_box.h" #include "ui/widgets/buttons.h" #include "ui/widgets/continuous_sliders.h" #include "ui/widgets/labels.h" #include "ui/wrap/vertical_layout.h" #include "window/window_session_controller.h" namespace Settings { rpl::producer AyuChats::title() { return tr::ayu_CategoryChats(); } AyuChats::AyuChats( QWidget *parent, not_null controller) : Section(parent) { setupContent(controller); } void SetupStickersAndEmojiSettings(not_null container) { auto *settings = &AyuSettings::getInstance(); AddSubsectionTitle(container, tr::lng_settings_stickers_emoji()/*rpl::single(QString("Stickers and Emoji"))*/); AddButtonWithIcon( container, tr::ayu_ShowOnlyAddedEmojisAndStickers(), st::settingsButtonNoIcon )->toggleOn( rpl::single(settings->showOnlyAddedEmojisAndStickers) )->toggledValue( ) | rpl::filter( [=](bool enabled) { return (enabled != settings->showOnlyAddedEmojisAndStickers); }) | rpl::start_with_next( [=](bool enabled) { AyuSettings::set_showOnlyAddedEmojisAndStickers(enabled); AyuSettings::save(); }, container->lifetime()); std::vector checkboxes = { NestedEntry{ tr::ayu_HideReactionsInChannels(tr::now), !settings->showChannelReactions, [=](bool enabled) { AyuSettings::set_hideChannelReactions(!enabled); AyuSettings::save(); } }, NestedEntry{ tr::ayu_HideReactionsInGroups(tr::now), !settings->showGroupReactions, [=](bool enabled) { AyuSettings::set_hideGroupReactions(!enabled); AyuSettings::save(); } } }; AddCollapsibleToggle(container, tr::ayu_HideReactions(), checkboxes, false); AddSkip(container); AddDivider(container); AddSkip(container); } void SetupRecentStickersLimit(not_null container) { auto *settings = &AyuSettings::getInstance(); container->add( object_ptr