diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index bbafca332..8a4c5a606 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -4167,8 +4167,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "ayu_MessageSavingSaveForBots" = "Save in bot dialogs"; "ayu_QoLTogglesHeader" = "Useful features"; "ayu_KeepAliveService" = "AyuGram Push Service"; -"ayu_DisableStories" = "Disable stories"; "ayu_DisableAds" = "Disable ads"; +"ayu_DisableStories" = "Disable stories"; +"ayu_DisableNotificationsDelay" = "Disable notify delay"; "ayu_LocalPremium" = "Local Telegram Premium"; "ayu_CopyUsernameAsLink" = "Copy username as link"; "ayu_CustomizationHeader" = "Customization"; diff --git a/Telegram/SourceFiles/ayu/ayu_settings.cpp b/Telegram/SourceFiles/ayu/ayu_settings.cpp index 1b06dac11..4cd31254d 100644 --- a/Telegram/SourceFiles/ayu/ayu_settings.cpp +++ b/Telegram/SourceFiles/ayu/ayu_settings.cpp @@ -235,6 +235,11 @@ void AyuGramSettings::set_disableStories(bool val) disableStories = val; } +void AyuGramSettings::set_disableNotificationsDelay(bool val) +{ + disableNotificationsDelay = val; +} + void AyuGramSettings::set_localPremium(bool val) { localPremium = val; diff --git a/Telegram/SourceFiles/ayu/ayu_settings.h b/Telegram/SourceFiles/ayu/ayu_settings.h index 85772bf60..7328b78cd 100644 --- a/Telegram/SourceFiles/ayu/ayu_settings.h +++ b/Telegram/SourceFiles/ayu/ayu_settings.h @@ -52,6 +52,7 @@ public: // ~ QoL toggles disableAds = true; disableStories = false; + disableNotificationsDelay = false; localPremium = false; copyUsernameAsLink = true; @@ -91,6 +92,7 @@ public: bool saveMessagesHistory; bool disableAds; bool disableStories; + bool disableNotificationsDelay; bool localPremium; bool copyUsernameAsLink; QString appIcon; @@ -132,6 +134,8 @@ public: void set_disableStories(bool val); + void set_disableNotificationsDelay(bool val); + void set_localPremium(bool val); void set_copyUsernameAsLink(bool val); @@ -176,6 +180,7 @@ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT( saveMessagesHistory, disableAds, disableStories, + disableNotificationsDelay, localPremium, copyUsernameAsLink, appIcon, diff --git a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp index 9c9df2e68..f675ea4b8 100644 --- a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp +++ b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp @@ -703,6 +703,22 @@ void Ayu::SetupQoLToggles(not_null container) AyuSettings::save(); }, container->lifetime()); + AddButton( + container, + tr::ayu_DisableNotificationsDelay(), + st::settingsButtonNoIcon + )->toggleOn( + rpl::single(settings->disableNotificationsDelay) + )->toggledValue( + ) | rpl::filter([=](bool enabled) + { + return (enabled != settings->disableNotificationsDelay); + }) | start_with_next([=](bool enabled) + { + settings->set_disableNotificationsDelay(enabled); + AyuSettings::save(); + }, container->lifetime()); + AddButton( container, tr::ayu_LocalPremium(), diff --git a/Telegram/SourceFiles/window/notifications_manager.cpp b/Telegram/SourceFiles/window/notifications_manager.cpp index d58ca6075..715121438 100644 --- a/Telegram/SourceFiles/window/notifications_manager.cpp +++ b/Telegram/SourceFiles/window/notifications_manager.cpp @@ -40,6 +40,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include +// AyuGram includes +#include "ayu/ayu_settings.h" + + #if __has_include() #include #endif // __has_include() @@ -301,6 +305,12 @@ System::Timing System::countTiming( } else if (cOtherOnline() >= t) { delay = config.notifyDefaultDelay; } + + const auto settings = &AyuSettings::getInstance(); + if (settings->disableNotificationsDelay) { + delay = minimalDelay; + } + return { .delay = delay, .when = ms + delay,