AyuGramDesktop/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.h
ZavaruKitsu 649e0b0412 feat: icon picker
Inspired by Forkgram's icon changer
Need to refactor a bit later
2023-09-01 17:17:16 +03:00

67 lines
1.9 KiB
C++

// 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, 2023
#pragma once
#include "base/options.h"
#include "settings/settings_common.h"
class BoxContent;
namespace Window
{
class Controller;
class SessionController;
} // namespace Window
extern const char kStreamerMode[];
extern base::options::toggle StreamerMode;
namespace Settings
{
class Ayu : public Section<Ayu>
{
public:
Ayu(QWidget* parent, not_null<Window::SessionController*> controller);
[[nodiscard]] rpl::producer<QString> title() override;
private:
void AddPlatformOption(
not_null<Window::SessionController*> window,
not_null<Ui::VerticalLayout*> container,
base::options::option<bool>& option,
rpl::producer<> resetClicks);
void SetupGhostEssentials(not_null<Ui::VerticalLayout*> container);
void SetupSpyEssentials(not_null<Ui::VerticalLayout*> container);
void SetupQoLToggles(not_null<Ui::VerticalLayout*> container);
void SetupAppIcon(not_null<Ui::VerticalLayout*> container);
void SetupCustomization(not_null<Ui::VerticalLayout*> container,
not_null<Window::SessionController*> controller);
void SetupShowPeerId(not_null<Ui::VerticalLayout*> container, not_null<Window::SessionController*> controller);
void SetupRecentStickersLimitSlider(not_null<Ui::VerticalLayout*> container);
void SetupAyuSync(not_null<Ui::VerticalLayout*> container);
void SetupSendConfirmations(not_null<Ui::VerticalLayout*> container);
void SetupExperimental(not_null<Ui::VerticalLayout*> container,
not_null<Window::SessionController*> controller);
void SetupAyuGramSettings(not_null<Ui::VerticalLayout*> container, not_null<Window::SessionController*> null);
void setupContent(not_null<Window::SessionController*> controller);
};
} // namespace Settings