diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp index 2dc8a3045..60dbe006e 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "dialogs/dialogs_widget.h" +#include "base/options.h" #include "dialogs/ui/dialogs_stories_content.h" #include "dialogs/ui/dialogs_stories_list.h" #include "dialogs/dialogs_inner_widget.h" @@ -86,8 +87,16 @@ namespace { constexpr auto kSearchPerPage = 50; constexpr auto kStoriesExpandDuration = crl::time(200); +base::options::toggle OptionForumHideChatsList({ + .id = kOptionForumHideChatsList, + .name = "Hide chats list in forums", + .description = "Don't keep a narrow column of chats list.", +}); + } // namespace +const char kOptionForumHideChatsList[] = "forum-hide-chats-list"; + class Widget::BottomButton : public Ui::RippleButton { public: BottomButton( @@ -2401,7 +2410,8 @@ void Widget::showForum( const Window::SectionShow ¶ms) { if (!params.childColumn || !Core::App().settings().dialogsWidthRatio() - || (_layout != Layout::Main)) { + || (_layout != Layout::Main) + || OptionForumHideChatsList.value()) { changeOpenedForum(forum, params.animated); return; } diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.h b/Telegram/SourceFiles/dialogs/dialogs_widget.h index e1d1a64ef..711509625 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.h +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.h @@ -65,6 +65,8 @@ struct Content; namespace Dialogs { +extern const char kOptionForumHideChatsList[]; + struct RowDescriptor; class Row; class FakeRow; diff --git a/Telegram/SourceFiles/settings/settings_experimental.cpp b/Telegram/SourceFiles/settings/settings_experimental.cpp index 74af35edf..97447adf1 100644 --- a/Telegram/SourceFiles/settings/settings_experimental.cpp +++ b/Telegram/SourceFiles/settings/settings_experimental.cpp @@ -18,6 +18,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "core/application.h" #include "core/launcher.h" #include "chat_helpers/tabbed_panel.h" +#include "dialogs/dialogs_widget.h" #include "lang/lang_keys.h" #include "mainwindow.h" #include "media/player/media_player_instance.h" @@ -137,6 +138,7 @@ void SetupExperimental( }; addToggle(ChatHelpers::kOptionTabbedPanelShowOnClick); + addToggle(Dialogs::kOptionForumHideChatsList); addToggle(Core::kOptionFractionalScalingEnabled); addToggle(Window::kOptionViewProfileInChatsListContextMenu); addToggle(Ui::GL::kOptionAllowLinuxNvidiaOpenGL);