1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 08:37:35 +00:00

Terminal+LibVT: Use LibConfig instead of Core::ConfigFile

This commit is contained in:
Andreas Kling 2021-08-25 19:39:57 +02:00
parent 39d9373bca
commit 82d8cd2b87
5 changed files with 21 additions and 35 deletions

View file

@ -11,4 +11,4 @@ set(GENERATED_SOURCES
generate_state_machine(StateMachine.txt EscapeSequenceStateMachine.h)
serenity_lib(LibVT vt)
target_link_libraries(LibVT LibC LibCore LibGUI LibGfx LibDesktop)
target_link_libraries(LibVT LibC LibCore LibGUI LibGfx LibDesktop LibConfig)

View file

@ -12,6 +12,7 @@
#include <AK/TemporaryChange.h>
#include <AK/Utf32View.h>
#include <AK/Utf8View.h>
#include <LibConfig/Client.h>
#include <LibCore/ConfigFile.h>
#include <LibCore/MimeData.h>
#include <LibDesktop/AppFile.h>
@ -73,10 +74,9 @@ void TerminalWidget::set_pty_master_fd(int fd)
};
}
TerminalWidget::TerminalWidget(int ptm_fd, bool automatic_size_policy, RefPtr<Core::ConfigFile> config)
TerminalWidget::TerminalWidget(int ptm_fd, bool automatic_size_policy)
: m_terminal(*this)
, m_automatic_size_policy(automatic_size_policy)
, m_config(move(config))
{
static_assert(sizeof(m_colors) == sizeof(xterm_colors));
memcpy(m_colors, xterm_colors, sizeof(m_colors));
@ -95,8 +95,7 @@ TerminalWidget::TerminalWidget(int ptm_fd, bool automatic_size_policy, RefPtr<Co
update();
};
dbgln("Load config file from {}", m_config->filename());
m_cursor_blink_timer->set_interval(m_config->read_num_entry("Text",
m_cursor_blink_timer->set_interval(Config::read_i32("Terminal", "Text",
"CursorBlinkInterval",
500));
m_cursor_blink_timer->on_timeout = [this] {
@ -113,7 +112,7 @@ TerminalWidget::TerminalWidget(int ptm_fd, bool automatic_size_policy, RefPtr<Co
};
m_auto_scroll_timer->start();
auto font_entry = m_config->read_entry("Text", "Font", "default");
auto font_entry = Config::read_string("Terminal", "Text", "Font", "default");
if (font_entry == "default")
set_font(Gfx::FontDatabase::default_fixed_width_font());
else
@ -121,7 +120,7 @@ TerminalWidget::TerminalWidget(int ptm_fd, bool automatic_size_policy, RefPtr<Co
m_line_height = font().glyph_height() + m_line_spacing;
m_terminal.set_size(m_config->read_num_entry("Window", "Width", 80), m_config->read_num_entry("Window", "Height", 25));
m_terminal.set_size(Config::read_i32("Terminal", "Window", "Width", 80), Config::read_i32("Terminal", "Window", "Height", 25));
m_copy_action = GUI::Action::create("&Copy", { Mod_Ctrl | Mod_Shift, Key_C }, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/edit-copy.png"), [this](auto&) {
copy();
@ -146,7 +145,7 @@ TerminalWidget::TerminalWidget(int ptm_fd, bool automatic_size_policy, RefPtr<Co
update_copy_action();
update_paste_action();
set_color_scheme(m_config->read_entry("Window", "ColorScheme", "Default"));
set_color_scheme(Config::read_string("Terminal", "Window", "ColorScheme", "Default"));
}
TerminalWidget::~TerminalWidget()

View file

@ -7,7 +7,6 @@
#pragma once
#include <AK/String.h>
#include <LibCore/ConfigFile.h>
#include <LibCore/ElapsedTimer.h>
#include <LibCore/Notifier.h>
#include <LibCore/Timer.h>
@ -28,7 +27,7 @@ class TerminalWidget final
C_OBJECT(TerminalWidget);
public:
TerminalWidget(int ptm_fd, bool automatic_size_policy, RefPtr<Core::ConfigFile> config);
TerminalWidget(int ptm_fd, bool automatic_size_policy);
virtual ~TerminalWidget() override;
void set_pty_master_fd(int fd);
@ -54,8 +53,6 @@ public:
BellMode bell_mode() { return m_bell_mode; }
void set_bell_mode(BellMode bm) { m_bell_mode = bm; };
RefPtr<Core::ConfigFile> config() const { return m_config; }
bool has_selection() const;
bool selection_contains(const VT::Position&) const;
String selected_text() const;
@ -208,7 +205,6 @@ private:
RefPtr<Core::Timer> m_cursor_blink_timer;
RefPtr<Core::Timer> m_visual_beep_timer;
RefPtr<Core::Timer> m_auto_scroll_timer;
RefPtr<Core::ConfigFile> m_config;
RefPtr<GUI::Scrollbar> m_scrollbar;