mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
feat: add toggles to customization
This commit is contained in:
parent
aa0d733cde
commit
ae3dfacdf9
7 changed files with 233 additions and 71 deletions
|
@ -4493,6 +4493,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
"ayu_SettingsShowID_Hide" = "Hide";
|
"ayu_SettingsShowID_Hide" = "Hide";
|
||||||
"ayu_SettingsRecentStickersCount" = "Recent stickers count";
|
"ayu_SettingsRecentStickersCount" = "Recent stickers count";
|
||||||
"ayu_SettingsCustomizationHint" = "After making changes to the \"Customization\" section, you must restart the application.";
|
"ayu_SettingsCustomizationHint" = "After making changes to the \"Customization\" section, you must restart the application.";
|
||||||
|
"ayu_DrawerElementsHeader" = "Drawer Elements";
|
||||||
|
"ayu_TrayElementsHeader" = "Tray Elements";
|
||||||
"ayu_RegexFilters" = "Message Filters";
|
"ayu_RegexFilters" = "Message Filters";
|
||||||
"ayu_RegexFiltersAmount" = "filters";
|
"ayu_RegexFiltersAmount" = "filters";
|
||||||
"ayu_RegexFiltersHeader" = "Filters";
|
"ayu_RegexFiltersHeader" = "Filters";
|
||||||
|
|
|
@ -286,11 +286,36 @@ void AyuGramSettings::set_recentStickersCount(int val)
|
||||||
recentStickersCount = val;
|
recentStickersCount = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AyuGramSettings::set_showLReadToggleInDrawer(bool val)
|
||||||
|
{
|
||||||
|
showLReadToggleInDrawer = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AyuGramSettings::set_showSReadToggleInDrawer(bool val)
|
||||||
|
{
|
||||||
|
showSReadToggleInDrawer = val;
|
||||||
|
}
|
||||||
|
|
||||||
void AyuGramSettings::set_showGhostToggleInDrawer(bool val)
|
void AyuGramSettings::set_showGhostToggleInDrawer(bool val)
|
||||||
{
|
{
|
||||||
showGhostToggleInDrawer = val;
|
showGhostToggleInDrawer = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AyuGramSettings::set_showStreamerToggleInDrawer(bool val)
|
||||||
|
{
|
||||||
|
showStreamerToggleInDrawer = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AyuGramSettings::set_showGhostToggleInTray(bool val)
|
||||||
|
{
|
||||||
|
showGhostToggleInTray = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AyuGramSettings::set_showStreamerToggleInTray(bool val)
|
||||||
|
{
|
||||||
|
showStreamerToggleInTray = val;
|
||||||
|
}
|
||||||
|
|
||||||
void AyuGramSettings::set_mainFont(QString val)
|
void AyuGramSettings::set_mainFont(QString val)
|
||||||
{
|
{
|
||||||
mainFont = val;
|
mainFont = val;
|
||||||
|
|
|
@ -63,8 +63,16 @@ public:
|
||||||
simpleQuotesAndReplies = true;
|
simpleQuotesAndReplies = true;
|
||||||
deletedMark = "🧹";
|
deletedMark = "🧹";
|
||||||
editedMark = tr::lng_edited(tr::now);
|
editedMark = tr::lng_edited(tr::now);
|
||||||
recentStickersCount = 20;
|
recentStickersCount = 50;
|
||||||
|
|
||||||
|
showLReadToggleInDrawer = true;
|
||||||
|
showSReadToggleInDrawer = true;
|
||||||
showGhostToggleInDrawer = true;
|
showGhostToggleInDrawer = true;
|
||||||
|
showStreamerToggleInDrawer = false;
|
||||||
|
|
||||||
|
showGhostToggleInTray = true;
|
||||||
|
showStreamerToggleInTray = false;
|
||||||
|
|
||||||
mainFont = "";
|
mainFont = "";
|
||||||
monoFont = "";
|
monoFont = "";
|
||||||
|
|
||||||
|
@ -105,7 +113,12 @@ public:
|
||||||
QString deletedMark;
|
QString deletedMark;
|
||||||
QString editedMark;
|
QString editedMark;
|
||||||
int recentStickersCount;
|
int recentStickersCount;
|
||||||
|
bool showLReadToggleInDrawer;
|
||||||
|
bool showSReadToggleInDrawer;
|
||||||
bool showGhostToggleInDrawer;
|
bool showGhostToggleInDrawer;
|
||||||
|
bool showStreamerToggleInDrawer;
|
||||||
|
bool showGhostToggleInTray;
|
||||||
|
bool showStreamerToggleInTray;
|
||||||
QString mainFont;
|
QString mainFont;
|
||||||
QString monoFont;
|
QString monoFont;
|
||||||
int showPeerId;
|
int showPeerId;
|
||||||
|
@ -160,8 +173,18 @@ public:
|
||||||
|
|
||||||
void set_recentStickersCount(int val);
|
void set_recentStickersCount(int val);
|
||||||
|
|
||||||
|
void set_showLReadToggleInDrawer(bool val);
|
||||||
|
|
||||||
|
void set_showSReadToggleInDrawer(bool val);
|
||||||
|
|
||||||
void set_showGhostToggleInDrawer(bool val);
|
void set_showGhostToggleInDrawer(bool val);
|
||||||
|
|
||||||
|
void set_showStreamerToggleInDrawer(bool val);
|
||||||
|
|
||||||
|
void set_showGhostToggleInTray(bool val);
|
||||||
|
|
||||||
|
void set_showStreamerToggleInTray(bool val);
|
||||||
|
|
||||||
void set_mainFont(QString val);
|
void set_mainFont(QString val);
|
||||||
|
|
||||||
void set_monoFont(QString val);
|
void set_monoFont(QString val);
|
||||||
|
@ -201,7 +224,12 @@ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(
|
||||||
deletedMark,
|
deletedMark,
|
||||||
editedMark,
|
editedMark,
|
||||||
recentStickersCount,
|
recentStickersCount,
|
||||||
|
showLReadToggleInDrawer,
|
||||||
|
showSReadToggleInDrawer,
|
||||||
showGhostToggleInDrawer,
|
showGhostToggleInDrawer,
|
||||||
|
showStreamerToggleInDrawer,
|
||||||
|
showGhostToggleInTray,
|
||||||
|
showStreamerToggleInTray,
|
||||||
mainFont,
|
mainFont,
|
||||||
monoFont,
|
monoFont,
|
||||||
showPeerId,
|
showPeerId,
|
||||||
|
|
|
@ -46,22 +46,11 @@
|
||||||
#include "ui/wrap/slide_wrap.h"
|
#include "ui/wrap/slide_wrap.h"
|
||||||
#include "ui/wrap/vertical_layout.h"
|
#include "ui/wrap/vertical_layout.h"
|
||||||
#include "window/window_session_controller.h"
|
#include "window/window_session_controller.h"
|
||||||
|
#include "styles/style_ayu_icons.h"
|
||||||
|
|
||||||
|
|
||||||
class PainterHighQualityEnabler;
|
class PainterHighQualityEnabler;
|
||||||
|
|
||||||
const char kStreamerMode[] =
|
|
||||||
"streamer-mode";
|
|
||||||
|
|
||||||
base::options::toggle StreamerMode(
|
|
||||||
{
|
|
||||||
.id = kStreamerMode,
|
|
||||||
.name = "Show streamer mode toggles",
|
|
||||||
.description = "Streamer mode completely hides AyuGram windows and notifications from capture apps.",
|
|
||||||
.scope = base::options::windows,
|
|
||||||
.restartRequired = true
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
not_null<Ui::RpWidget *> AddInnerToggle(not_null<Ui::VerticalLayout *> container,
|
not_null<Ui::RpWidget *> AddInnerToggle(not_null<Ui::VerticalLayout *> container,
|
||||||
const style::SettingsButton &st,
|
const style::SettingsButton &st,
|
||||||
std::vector<not_null<Ui::AbstractCheckView *>> innerCheckViews,
|
std::vector<not_null<Ui::AbstractCheckView *>> innerCheckViews,
|
||||||
|
@ -848,12 +837,134 @@ void Ayu::SetupCustomization(not_null<Ui::VerticalLayout *> container,
|
||||||
AyuSettings::save();
|
AyuSettings::save();
|
||||||
}, container->lifetime());
|
}, container->lifetime());
|
||||||
|
|
||||||
|
AddSkip(container);
|
||||||
|
AddDivider(container);
|
||||||
|
SetupDrawerElements(container);
|
||||||
|
AddSkip(container);
|
||||||
|
AddDivider(container);
|
||||||
|
SetupTrayElements(container);
|
||||||
AddSkip(container);
|
AddSkip(container);
|
||||||
AddDivider(container);
|
AddDivider(container);
|
||||||
AddSkip(container);
|
AddSkip(container);
|
||||||
SetupFonts(container, controller);
|
SetupFonts(container, controller);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Ayu::SetupDrawerElements(not_null<Ui::VerticalLayout *> container)
|
||||||
|
{
|
||||||
|
auto settings = &AyuSettings::getInstance();
|
||||||
|
|
||||||
|
AddSkip(container);
|
||||||
|
AddSubsectionTitle(container, tr::ayu_DrawerElementsHeader());
|
||||||
|
|
||||||
|
AddButton(
|
||||||
|
container,
|
||||||
|
tr::ayu_LReadMessages(),
|
||||||
|
st::settingsButton,
|
||||||
|
{&st::ayuLReadMenuIcon}
|
||||||
|
)->toggleOn(
|
||||||
|
rpl::single(settings->showLReadToggleInDrawer)
|
||||||
|
)->toggledValue(
|
||||||
|
) | rpl::filter([=](bool enabled)
|
||||||
|
{
|
||||||
|
return (enabled != settings->showLReadToggleInDrawer);
|
||||||
|
}) | start_with_next([=](bool enabled)
|
||||||
|
{
|
||||||
|
settings->set_showLReadToggleInDrawer(enabled);
|
||||||
|
AyuSettings::save();
|
||||||
|
}, container->lifetime());
|
||||||
|
|
||||||
|
AddButton(
|
||||||
|
container,
|
||||||
|
tr::ayu_SReadMessages(),
|
||||||
|
st::settingsButton,
|
||||||
|
{&st::ayuSReadMenuIcon}
|
||||||
|
)->toggleOn(
|
||||||
|
rpl::single(settings->showSReadToggleInDrawer)
|
||||||
|
)->toggledValue(
|
||||||
|
) | rpl::filter([=](bool enabled)
|
||||||
|
{
|
||||||
|
return (enabled != settings->showSReadToggleInDrawer);
|
||||||
|
}) | start_with_next([=](bool enabled)
|
||||||
|
{
|
||||||
|
settings->set_showSReadToggleInDrawer(enabled);
|
||||||
|
AyuSettings::save();
|
||||||
|
}, container->lifetime());
|
||||||
|
|
||||||
|
AddButton(
|
||||||
|
container,
|
||||||
|
tr::ayu_GhostModeToggle(),
|
||||||
|
st::settingsButton,
|
||||||
|
{&st::ayuGhostIcon}
|
||||||
|
)->toggleOn(
|
||||||
|
rpl::single(settings->showGhostToggleInDrawer)
|
||||||
|
)->toggledValue(
|
||||||
|
) | rpl::filter([=](bool enabled)
|
||||||
|
{
|
||||||
|
return (enabled != settings->showGhostToggleInDrawer);
|
||||||
|
}) | start_with_next([=](bool enabled)
|
||||||
|
{
|
||||||
|
settings->set_showGhostToggleInDrawer(enabled);
|
||||||
|
AyuSettings::save();
|
||||||
|
}, container->lifetime());
|
||||||
|
|
||||||
|
AddButton(
|
||||||
|
container,
|
||||||
|
tr::ayu_StreamerModeToggle(),
|
||||||
|
st::settingsButton,
|
||||||
|
{&st::ayuStreamerModeMenuIcon}
|
||||||
|
)->toggleOn(
|
||||||
|
rpl::single(settings->showStreamerToggleInDrawer)
|
||||||
|
)->toggledValue(
|
||||||
|
) | rpl::filter([=](bool enabled)
|
||||||
|
{
|
||||||
|
return (enabled != settings->showStreamerToggleInDrawer);
|
||||||
|
}) | start_with_next([=](bool enabled)
|
||||||
|
{
|
||||||
|
settings->set_showStreamerToggleInDrawer(enabled);
|
||||||
|
AyuSettings::save();
|
||||||
|
}, container->lifetime());
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ayu::SetupTrayElements(not_null<Ui::VerticalLayout *> container)
|
||||||
|
{
|
||||||
|
auto settings = &AyuSettings::getInstance();
|
||||||
|
|
||||||
|
AddSkip(container);
|
||||||
|
AddSubsectionTitle(container, tr::ayu_TrayElementsHeader());
|
||||||
|
|
||||||
|
AddButton(
|
||||||
|
container,
|
||||||
|
tr::ayu_EnableGhostModeTray(),
|
||||||
|
st::settingsButtonNoIcon
|
||||||
|
)->toggleOn(
|
||||||
|
rpl::single(settings->showGhostToggleInTray)
|
||||||
|
)->toggledValue(
|
||||||
|
) | rpl::filter([=](bool enabled)
|
||||||
|
{
|
||||||
|
return (enabled != settings->showGhostToggleInTray);
|
||||||
|
}) | start_with_next([=](bool enabled)
|
||||||
|
{
|
||||||
|
settings->set_showGhostToggleInTray(enabled);
|
||||||
|
AyuSettings::save();
|
||||||
|
}, container->lifetime());
|
||||||
|
|
||||||
|
AddButton(
|
||||||
|
container,
|
||||||
|
tr::ayu_EnableStreamerModeTray(),
|
||||||
|
st::settingsButtonNoIcon
|
||||||
|
)->toggleOn(
|
||||||
|
rpl::single(settings->showStreamerToggleInTray)
|
||||||
|
)->toggledValue(
|
||||||
|
) | rpl::filter([=](bool enabled)
|
||||||
|
{
|
||||||
|
return (enabled != settings->showStreamerToggleInTray);
|
||||||
|
}) | start_with_next([=](bool enabled)
|
||||||
|
{
|
||||||
|
settings->set_showStreamerToggleInTray(enabled);
|
||||||
|
AyuSettings::save();
|
||||||
|
}, container->lifetime());
|
||||||
|
}
|
||||||
|
|
||||||
void Ayu::SetupShowPeerId(not_null<Ui::VerticalLayout *> container,
|
void Ayu::SetupShowPeerId(not_null<Ui::VerticalLayout *> container,
|
||||||
not_null<Window::SessionController *> controller)
|
not_null<Window::SessionController *> controller)
|
||||||
{
|
{
|
||||||
|
@ -1057,13 +1168,6 @@ void Ayu::SetupSendConfirmations(not_null<Ui::VerticalLayout *> container)
|
||||||
}, container->lifetime());
|
}, container->lifetime());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Ayu::SetupExperimental(not_null<Ui::VerticalLayout *> container,
|
|
||||||
not_null<Window::SessionController *> controller)
|
|
||||||
{
|
|
||||||
AddSubsectionTitle(container, tr::lng_settings_experimental());
|
|
||||||
AddPlatformOption(controller, container, StreamerMode, rpl::producer<>());
|
|
||||||
}
|
|
||||||
|
|
||||||
void Ayu::SetupAyuGramSettings(not_null<Ui::VerticalLayout *> container,
|
void Ayu::SetupAyuGramSettings(not_null<Ui::VerticalLayout *> container,
|
||||||
not_null<Window::SessionController *> controller)
|
not_null<Window::SessionController *> controller)
|
||||||
{
|
{
|
||||||
|
@ -1102,10 +1206,7 @@ void Ayu::SetupAyuGramSettings(not_null<Ui::VerticalLayout *> container,
|
||||||
AddSkip(container);
|
AddSkip(container);
|
||||||
SetupSendConfirmations(container);
|
SetupSendConfirmations(container);
|
||||||
AddSkip(container);
|
AddSkip(container);
|
||||||
|
|
||||||
AddDivider(container);
|
AddDivider(container);
|
||||||
AddSkip(container);
|
|
||||||
SetupExperimental(container, controller);
|
|
||||||
|
|
||||||
AddDividerText(container, tr::ayu_SettingsWatermark());
|
AddDividerText(container, tr::ayu_SettingsWatermark());
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,10 +17,6 @@ class Controller;
|
||||||
class SessionController;
|
class SessionController;
|
||||||
} // namespace Window
|
} // namespace Window
|
||||||
|
|
||||||
extern const char kStreamerMode[];
|
|
||||||
|
|
||||||
extern base::options::toggle StreamerMode;
|
|
||||||
|
|
||||||
namespace Settings
|
namespace Settings
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -53,6 +49,10 @@ private:
|
||||||
void SetupCustomization(not_null<Ui::VerticalLayout *> container,
|
void SetupCustomization(not_null<Ui::VerticalLayout *> container,
|
||||||
not_null<Window::SessionController *> controller);
|
not_null<Window::SessionController *> controller);
|
||||||
|
|
||||||
|
void SetupDrawerElements(not_null<Ui::VerticalLayout *> container);
|
||||||
|
|
||||||
|
void SetupTrayElements(not_null<Ui::VerticalLayout *> container);
|
||||||
|
|
||||||
void SetupShowPeerId(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 SetupRecentStickersLimitSlider(not_null<Ui::VerticalLayout *> container);
|
||||||
|
@ -63,9 +63,6 @@ private:
|
||||||
|
|
||||||
void SetupSendConfirmations(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 SetupAyuGramSettings(not_null<Ui::VerticalLayout *> container, not_null<Window::SessionController *> null);
|
||||||
|
|
||||||
void setupContent(not_null<Window::SessionController *> controller);
|
void setupContent(not_null<Window::SessionController *> controller);
|
||||||
|
|
|
@ -100,6 +100,8 @@ void Tray::rebuildMenu() {
|
||||||
[=] { toggleSoundNotifications(); });
|
[=] { toggleSoundNotifications(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto settings = &AyuSettings::getInstance();
|
||||||
|
|
||||||
auto turnGhostModeText = _textUpdates.events(
|
auto turnGhostModeText = _textUpdates.events(
|
||||||
) | rpl::map([=]
|
) | rpl::map([=]
|
||||||
{
|
{
|
||||||
|
@ -111,7 +113,6 @@ void Tray::rebuildMenu() {
|
||||||
});
|
});
|
||||||
_tray.addAction(std::move(turnGhostModeText), [=]
|
_tray.addAction(std::move(turnGhostModeText), [=]
|
||||||
{
|
{
|
||||||
auto settings = &AyuSettings::getInstance();
|
|
||||||
bool ghostMode = AyuSettings::get_ghostModeEnabled();
|
bool ghostMode = AyuSettings::get_ghostModeEnabled();
|
||||||
|
|
||||||
settings->set_ghostModeEnabled(!ghostMode);
|
settings->set_ghostModeEnabled(!ghostMode);
|
||||||
|
@ -119,7 +120,7 @@ void Tray::rebuildMenu() {
|
||||||
AyuSettings::save();
|
AyuSettings::save();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (StreamerMode.value()) {
|
if (settings->showStreamerToggleInTray) {
|
||||||
auto turnStreamerModeText = _textUpdates.events(
|
auto turnStreamerModeText = _textUpdates.events(
|
||||||
) | rpl::map([=] {
|
) | rpl::map([=] {
|
||||||
bool streamerModeEnabled = AyuFeatures::StreamerMode::isEnabled();
|
bool streamerModeEnabled = AyuFeatures::StreamerMode::isEnabled();
|
||||||
|
|
|
@ -927,28 +927,35 @@ void MainMenu::setupMenu() {
|
||||||
)->setClickedCallback([=] {
|
)->setClickedCallback([=] {
|
||||||
controller->showPeerHistory(controller->session().user());
|
controller->showPeerHistory(controller->session().user());
|
||||||
});
|
});
|
||||||
addAction(
|
|
||||||
tr::ayu_LReadMessages(),
|
|
||||||
{ &st::ayuLReadMenuIcon }
|
|
||||||
)->setClickedCallback([=]
|
|
||||||
{
|
|
||||||
auto settings = &AyuSettings::getInstance();
|
|
||||||
auto prev = settings->sendReadMessages;
|
|
||||||
settings->set_sendReadMessages(false);
|
|
||||||
|
|
||||||
auto chats = controller->session().data().chatsList();
|
const auto settings = &AyuSettings::getInstance();
|
||||||
MarkAsReadChatList(chats);
|
|
||||||
|
|
||||||
settings->set_sendReadMessages(prev);
|
if (settings->showLReadToggleInDrawer) {
|
||||||
});
|
addAction(
|
||||||
addAction(
|
tr::ayu_LReadMessages(),
|
||||||
tr::ayu_SReadMessages(),
|
{&st::ayuLReadMenuIcon}
|
||||||
{ &st::ayuSReadMenuIcon }
|
)->setClickedCallback([=]
|
||||||
)->setClickedCallback([=]
|
{
|
||||||
{
|
auto prev = settings->sendReadMessages;
|
||||||
auto box = Box<AyuUi::ConfirmationBox>(controller);
|
settings->set_sendReadMessages(false);
|
||||||
Ui::show(std::move(box));
|
|
||||||
});
|
auto chats = controller->session().data().chatsList();
|
||||||
|
MarkAsReadChatList(chats);
|
||||||
|
|
||||||
|
settings->set_sendReadMessages(prev);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (settings->showSReadToggleInDrawer) {
|
||||||
|
addAction(
|
||||||
|
tr::ayu_SReadMessages(),
|
||||||
|
{&st::ayuSReadMenuIcon}
|
||||||
|
)->setClickedCallback([=]
|
||||||
|
{
|
||||||
|
auto box = Box<AyuUi::ConfirmationBox>(controller);
|
||||||
|
Ui::show(std::move(box));
|
||||||
|
});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
addAction(
|
addAction(
|
||||||
tr::lng_profile_add_contact(),
|
tr::lng_profile_add_contact(),
|
||||||
|
@ -1011,36 +1018,37 @@ void MainMenu::setupMenu() {
|
||||||
}, _nightThemeToggle->lifetime());
|
}, _nightThemeToggle->lifetime());
|
||||||
|
|
||||||
const auto settings = &AyuSettings::getInstance();
|
const auto settings = &AyuSettings::getInstance();
|
||||||
if (settings->showGhostToggleInDrawer)
|
if (settings->showGhostToggleInDrawer) {
|
||||||
{
|
|
||||||
_ghostModeToggle = addAction(
|
_ghostModeToggle = addAction(
|
||||||
tr::ayu_GhostModeToggle(),
|
tr::ayu_GhostModeToggle(),
|
||||||
{ &st::ayuGhostIcon }
|
{&st::ayuGhostIcon}
|
||||||
)->toggleOn(AyuSettings::get_ghostModeEnabledReactive());
|
)->toggleOn(AyuSettings::get_ghostModeEnabledReactive());
|
||||||
|
|
||||||
_ghostModeToggle->toggledChanges(
|
_ghostModeToggle->toggledChanges(
|
||||||
) | rpl::start_with_next([=](bool ghostMode)
|
) | rpl::start_with_next([=](bool ghostMode)
|
||||||
{
|
{
|
||||||
settings->set_ghostModeEnabled(ghostMode);
|
settings->set_ghostModeEnabled(ghostMode);
|
||||||
|
|
||||||
AyuSettings::save();
|
AyuSettings::save();
|
||||||
}, _ghostModeToggle->lifetime());
|
}, _ghostModeToggle->lifetime());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StreamerMode.value()) {
|
if (settings->showStreamerToggleInDrawer) {
|
||||||
_streamerModeToggle = addAction(
|
_streamerModeToggle = addAction(
|
||||||
tr::ayu_StreamerModeToggle(),
|
tr::ayu_StreamerModeToggle(),
|
||||||
{ &st::ayuStreamerModeMenuIcon }
|
{&st::ayuStreamerModeMenuIcon}
|
||||||
)->toggleOn(rpl::single(AyuFeatures::StreamerMode::isEnabled()));
|
)->toggleOn(rpl::single(AyuFeatures::StreamerMode::isEnabled()));
|
||||||
|
|
||||||
_streamerModeToggle->toggledChanges(
|
_streamerModeToggle->toggledChanges(
|
||||||
) | rpl::start_with_next([=](bool enabled) {
|
) | rpl::start_with_next([=](bool enabled)
|
||||||
if (enabled) {
|
{
|
||||||
AyuFeatures::StreamerMode::enable();
|
if (enabled) {
|
||||||
} else {
|
AyuFeatures::StreamerMode::enable();
|
||||||
AyuFeatures::StreamerMode::disable();
|
}
|
||||||
}
|
else {
|
||||||
}, _streamerModeToggle->lifetime());
|
AyuFeatures::StreamerMode::disable();
|
||||||
|
}
|
||||||
|
}, _streamerModeToggle->lifetime());
|
||||||
}
|
}
|
||||||
|
|
||||||
Core::App().settings().systemDarkModeValue(
|
Core::App().settings().systemDarkModeValue(
|
||||||
|
|
Loading…
Add table
Reference in a new issue