diff --git a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp index f56c8223d..04620869d 100644 --- a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp +++ b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp @@ -26,6 +26,7 @@ #include "styles/style_widgets.h" #include "icon_picker.h" +#include "core/application.h" #include "styles/style_ayu_icons.h" #include "ui/painter.h" #include "ui/vertical_list.h" @@ -35,6 +36,7 @@ #include "ui/widgets/buttons.h" #include "ui/widgets/checkbox.h" #include "ui/widgets/continuous_sliders.h" +#include "ui/widgets/menu/menu_add_action_callback.h" #include "ui/wrap/slide_wrap.h" #include "ui/wrap/vertical_layout.h" #include "window/window_session_controller.h" @@ -391,6 +393,17 @@ rpl::producer Ayu::title() { return tr::ayu_AyuPreferences(); } +void Ayu::fillTopBarMenu(const Ui::Menu::MenuCallback &addAction) { + addAction( + tr::ayu_RegisterURLScheme(tr::now), + [=] { Core::Application::RegisterUrlScheme(); }, + &st::menuIconLinks); + addAction( + tr::lng_restart_button(tr::now), + [=] { Core::Restart(); }, + &st::menuIconRestore); +} + Ayu::Ayu( QWidget *parent, not_null controller) diff --git a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.h b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.h index 059e9f41a..6cf71326d 100644 --- a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.h +++ b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.h @@ -25,6 +25,9 @@ public: [[nodiscard]] rpl::producer title() override; + void fillTopBarMenu( + const Ui::Menu::MenuCallback &addAction) override; + private: void setupContent(not_null controller); }; diff --git a/Telegram/SourceFiles/settings/settings_common_session.cpp b/Telegram/SourceFiles/settings/settings_common_session.cpp index 8fac1a399..94db16611 100644 --- a/Telegram/SourceFiles/settings/settings_common_session.cpp +++ b/Telegram/SourceFiles/settings/settings_common_session.cpp @@ -32,12 +32,17 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include +// AyuGram includes +#include "ayu/ui/settings/settings_ayu.h" + + namespace Settings { bool HasMenu(Type type) { return (type == ::Settings::CloudPasswordEmailConfirmId()) || (type == Main::Id()) - || (type == Chat::Id()); + || (type == Chat::Id()) + || (type == Ayu::Id()); } } // namespace Settings