diff --git a/Telegram/SourceFiles/facades.cpp b/Telegram/SourceFiles/facades.cpp index 6c26bb8eb..2bdbdec70 100644 --- a/Telegram/SourceFiles/facades.cpp +++ b/Telegram/SourceFiles/facades.cpp @@ -229,6 +229,10 @@ bool skipPaintEvent(QWidget *widget, QPaintEvent *event) { namespace Notify { +void showScheduledButtonChanged() { + if (MainWidget *m = App::main()) m->notify_showScheduledButtonChanged(); +} + void userIsBotChanged(UserData *user) { if (MainWidget *m = App::main()) m->notify_userIsBotChanged(user); } diff --git a/Telegram/SourceFiles/facades.h b/Telegram/SourceFiles/facades.h index 42c8f1c28..7d2838974 100644 --- a/Telegram/SourceFiles/facades.h +++ b/Telegram/SourceFiles/facades.h @@ -105,6 +105,7 @@ enum ClipStopperType { namespace Notify { +void showScheduledButtonChanged(); void userIsBotChanged(UserData *user); void botCommandsChanged(UserData *user); diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index 77f283092..51d6d29d1 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -1465,6 +1465,12 @@ void HistoryWidget::notify_userIsBotChanged(UserData *user) { } } +void HistoryWidget::notify_showScheduledButtonChanged() { + refreshScheduledToggle(); + updateControlsVisibility(); + updateControlsGeometry(); +} + void HistoryWidget::setupShortcuts() { Shortcuts::Requests( ) | rpl::filter([=] { diff --git a/Telegram/SourceFiles/history/history_widget.h b/Telegram/SourceFiles/history/history_widget.h index a2dff83b6..4b82fd56f 100644 --- a/Telegram/SourceFiles/history/history_widget.h +++ b/Telegram/SourceFiles/history/history_widget.h @@ -266,6 +266,7 @@ public: void notify_inlineKeyboardMoved(const HistoryItem *item, int oldKeyboardTop, int newKeyboardTop); bool notify_switchInlineBotButtonReceived(const QString &query, UserData *samePeerBot, MsgId samePeerReplyTo); void notify_userIsBotChanged(UserData *user); + void notify_showScheduledButtonChanged(); ~HistoryWidget(); diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index c63118241..9f4c67059 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -770,6 +770,10 @@ void MainWidget::notify_userIsBotChanged(UserData *bot) { _history->notify_userIsBotChanged(bot); } +void MainWidget::notify_showScheduledButtonChanged() { + _history->notify_showScheduledButtonChanged(); +} + void MainWidget::notify_historyMuteUpdated(History *history) { _dialogs->notify_historyMuteUpdated(history); } diff --git a/Telegram/SourceFiles/mainwidget.h b/Telegram/SourceFiles/mainwidget.h index f2bd4ce59..d614658b3 100644 --- a/Telegram/SourceFiles/mainwidget.h +++ b/Telegram/SourceFiles/mainwidget.h @@ -289,6 +289,7 @@ public: void notify_inlineKeyboardMoved(const HistoryItem *item, int oldKeyboardTop, int newKeyboardTop); bool notify_switchInlineBotButtonReceived(const QString &query, UserData *samePeerBot, MsgId samePeerReplyTo); void notify_userIsBotChanged(UserData *bot); + void notify_showScheduledButtonChanged(); void notify_historyMuteUpdated(History *history); void closeBothPlayers(); diff --git a/Telegram/SourceFiles/settings/settings_kotato.cpp b/Telegram/SourceFiles/settings/settings_kotato.cpp index 979d0c3a4..d61e12230 100644 --- a/Telegram/SourceFiles/settings/settings_kotato.cpp +++ b/Telegram/SourceFiles/settings/settings_kotato.cpp @@ -90,6 +90,7 @@ void SetupKotatoChats(not_null container) { return (enabled != cAlwaysShowScheduled()); }) | rpl::start_with_next([](bool enabled) { cSetAlwaysShowScheduled(enabled); + Notify::showScheduledButtonChanged(); }, container->lifetime()); AddSkip(container);