mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 23:27:44 +00:00
LibCore+Everywhere: Return ErrorOr from ConfigFile factory methods
I've attempted to handle the errors gracefully where it was clear how to do so, and simple, but a lot of this was just adding `release_value_but_fixme_should_propagate_errors()` in places.
This commit is contained in:
parent
1a4dd47d5f
commit
8260135d4d
31 changed files with 77 additions and 51 deletions
|
@ -20,7 +20,7 @@ AppletManager::AppletManager()
|
|||
{
|
||||
s_the = this;
|
||||
|
||||
auto wm_config = Core::ConfigFile::open("/etc/WindowServer.ini");
|
||||
auto wm_config = Core::ConfigFile::open("/etc/WindowServer.ini").release_value_but_fixme_should_propagate_errors();
|
||||
auto order = wm_config->read_entry("Applet", "Order");
|
||||
order_vector = order.split(',');
|
||||
}
|
||||
|
|
|
@ -786,7 +786,7 @@ Messages::WindowServer::SetSystemThemeResponse ClientConnection::set_system_them
|
|||
|
||||
Messages::WindowServer::GetSystemThemeResponse ClientConnection::get_system_theme()
|
||||
{
|
||||
auto wm_config = Core::ConfigFile::open("/etc/WindowServer.ini");
|
||||
auto wm_config = Core::ConfigFile::open("/etc/WindowServer.ini").release_value_but_fixme_should_propagate_errors();
|
||||
auto name = wm_config->read_entry("Theme", "Name");
|
||||
return name;
|
||||
}
|
||||
|
@ -798,7 +798,7 @@ void ClientConnection::apply_cursor_theme(String const& name)
|
|||
|
||||
Messages::WindowServer::GetCursorThemeResponse ClientConnection::get_cursor_theme()
|
||||
{
|
||||
auto config = Core::ConfigFile::open("/etc/WindowServer.ini");
|
||||
auto config = Core::ConfigFile::open("/etc/WindowServer.ini").release_value_but_fixme_should_propagate_errors();
|
||||
auto name = config->read_entry("Mouse", "CursorTheme");
|
||||
return name;
|
||||
}
|
||||
|
@ -822,7 +822,12 @@ Messages::WindowServer::SetSystemFontsResponse ClientConnection::set_system_font
|
|||
|
||||
WindowManager::the().invalidate_after_theme_or_font_change();
|
||||
|
||||
auto wm_config = Core::ConfigFile::open("/etc/WindowServer.ini", Core::ConfigFile::AllowWriting::Yes);
|
||||
auto wm_config_or_error = Core::ConfigFile::open("/etc/WindowServer.ini", Core::ConfigFile::AllowWriting::Yes);
|
||||
if (wm_config_or_error.is_error()) {
|
||||
dbgln("Unable to open WindowServer.ini to set system fonts: {}", wm_config_or_error.error());
|
||||
return false;
|
||||
}
|
||||
auto wm_config = wm_config_or_error.release_value();
|
||||
wm_config->write_entry("Fonts", "Default", default_font_query);
|
||||
wm_config->write_entry("Fonts", "FixedWidth", fixed_width_font_query);
|
||||
return true;
|
||||
|
|
|
@ -34,7 +34,7 @@ void KeymapSwitcher::refresh()
|
|||
{
|
||||
m_keymaps.clear();
|
||||
|
||||
auto mapper_config(Core::ConfigFile::open(m_keyboard_config));
|
||||
auto mapper_config(Core::ConfigFile::open(m_keyboard_config).release_value_but_fixme_should_propagate_errors());
|
||||
auto keymaps = mapper_config->read_entry("Mapping", "Keymaps", "");
|
||||
|
||||
auto keymaps_vector = keymaps.split(',');
|
||||
|
|
|
@ -74,7 +74,7 @@ WindowManager::~WindowManager()
|
|||
|
||||
void WindowManager::reload_config()
|
||||
{
|
||||
m_config = Core::ConfigFile::open("/etc/WindowServer.ini", Core::ConfigFile::AllowWriting::Yes);
|
||||
m_config = Core::ConfigFile::open("/etc/WindowServer.ini", Core::ConfigFile::AllowWriting::Yes).release_value_but_fixme_should_propagate_errors();
|
||||
|
||||
unsigned workspace_rows = (unsigned)m_config->read_num_entry("Workspace", "Rows", default_window_stack_rows);
|
||||
unsigned workspace_columns = (unsigned)m_config->read_num_entry("Workspace", "Columns", default_window_stack_columns);
|
||||
|
@ -2193,9 +2193,15 @@ WindowStack& WindowManager::get_rendering_window_stacks(WindowStack*& transition
|
|||
return Compositor::the().get_rendering_window_stacks(transitioning_window_stack);
|
||||
}
|
||||
|
||||
void WindowManager::apply_cursor_theme(const String& theme_name)
|
||||
void WindowManager::apply_cursor_theme(String const& theme_name)
|
||||
{
|
||||
auto cursor_theme_config = Core::ConfigFile::open(String::formatted("/res/cursor-themes/{}/{}", theme_name, "Config.ini"));
|
||||
auto theme_path = String::formatted("/res/cursor-themes/{}/{}", theme_name, "Config.ini");
|
||||
auto cursor_theme_config_or_error = Core::ConfigFile::open(theme_path);
|
||||
if (cursor_theme_config_or_error.is_error()) {
|
||||
dbgln("Unable to open cursor theme '{}': {}", theme_path, cursor_theme_config_or_error.error());
|
||||
return;
|
||||
}
|
||||
auto cursor_theme_config = cursor_theme_config_or_error.release_value();
|
||||
|
||||
auto* current_cursor = Compositor::the().current_cursor();
|
||||
auto reload_cursor = [&](RefPtr<Cursor>& cursor, const String& name) {
|
||||
|
|
|
@ -36,7 +36,7 @@ ErrorOr<int> serenity_main(Main::Arguments)
|
|||
TRY(Core::System::sigaction(SIGCHLD, &act, nullptr));
|
||||
TRY(Core::System::pledge("stdio video thread sendfd recvfd accept rpath wpath cpath unix proc exec"));
|
||||
|
||||
auto wm_config = Core::ConfigFile::open("/etc/WindowServer.ini");
|
||||
auto wm_config = TRY(Core::ConfigFile::open("/etc/WindowServer.ini"));
|
||||
auto theme_name = wm_config->read_entry("Theme", "Name", "Default");
|
||||
|
||||
auto theme = Gfx::load_system_theme(String::formatted("/res/themes/{}.ini", theme_name));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue