From ef2fd31288ee0218c6a17f89ea8a890e49fc4372 Mon Sep 17 00:00:00 2001 From: Brian Gianforcaro Date: Fri, 14 Jan 2022 20:47:43 -0800 Subject: [PATCH] Terminal: Add config listeners for controlling scrollbar visibility --- Userland/Applications/Terminal/main.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Userland/Applications/Terminal/main.cpp b/Userland/Applications/Terminal/main.cpp index 786258d5dd..3e32e07132 100644 --- a/Userland/Applications/Terminal/main.cpp +++ b/Userland/Applications/Terminal/main.cpp @@ -51,6 +51,15 @@ public: { } + virtual void config_bool_did_change(String const& domain, String const& group, String const& key, bool value) override + { + VERIFY(domain == "Terminal"); + + if (group == "Terminal" && key == "ShowScrollBar") { + m_parent_terminal.set_show_scrollbar(value); + } + } + virtual void config_string_did_change(String const& domain, String const& group, String const& key, String const& value) override { VERIFY(domain == "Terminal"); @@ -311,6 +320,9 @@ ErrorOr serenity_main(Main::Arguments arguments) auto new_scrollback_size = Config::read_i32("Terminal", "Terminal", "MaxHistorySize", terminal->max_history_size()); terminal->set_max_history_size(new_scrollback_size); + auto show_scroll_bar = Config::read_bool("Terminal", "Terminal", "ShowScrollBar", true); + terminal->set_show_scrollbar(show_scroll_bar); + auto open_settings_action = GUI::Action::create("&Settings", Gfx::Bitmap::try_load_from_file("/res/icons/16x16/settings.png").release_value_but_fixme_should_propagate_errors(), [&](auto&) { Core::Process::spawn("/bin/TerminalSettings");