From 45844f933845c203fd8aa2a31022ea917f231407 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 27 Nov 2021 17:37:00 +0100 Subject: [PATCH] LibGUI: Make GUI::SettingsWindow::add_tab() return ErrorOr This allows us to use TRY() when creating settings UI. --- Userland/Applications/BrowserSettings/main.cpp | 2 +- Userland/Applications/DisplaySettings/main.cpp | 8 ++++---- Userland/Applications/KeyboardSettings/main.cpp | 2 +- Userland/Applications/MailSettings/main.cpp | 2 +- Userland/Applications/MouseSettings/main.cpp | 4 ++-- Userland/Applications/TerminalSettings/main.cpp | 4 ++-- Userland/Libraries/LibGUI/SettingsWindow.h | 8 ++++---- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Userland/Applications/BrowserSettings/main.cpp b/Userland/Applications/BrowserSettings/main.cpp index 3d35037b03..0ac3903415 100644 --- a/Userland/Applications/BrowserSettings/main.cpp +++ b/Userland/Applications/BrowserSettings/main.cpp @@ -26,7 +26,7 @@ ErrorOr serenity_main(Main::Arguments arguments) auto window = TRY(GUI::SettingsWindow::try_create("Browser Settings", GUI::SettingsWindow::ShowDefaultsButton::Yes)); window->set_icon(app_icon.bitmap_for_size(16)); - window->add_tab("Browser"); + TRY(window->add_tab("Browser")); window->show(); return app->exec(); diff --git a/Userland/Applications/DisplaySettings/main.cpp b/Userland/Applications/DisplaySettings/main.cpp index fbfd8490b2..66ac660196 100644 --- a/Userland/Applications/DisplaySettings/main.cpp +++ b/Userland/Applications/DisplaySettings/main.cpp @@ -27,10 +27,10 @@ ErrorOr serenity_main(Main::Arguments arguments) auto app_icon = GUI::Icon::default_icon("app-display-settings"); auto window = TRY(GUI::SettingsWindow::try_create("Display Settings")); - window->add_tab("Background"); - window->add_tab("Fonts"); - window->add_tab("Monitor"); - window->add_tab("Workspaces"); + TRY(window->add_tab("Background")); + TRY(window->add_tab("Fonts")); + TRY(window->add_tab("Monitor")); + TRY(window->add_tab("Workspaces")); window->set_icon(app_icon.bitmap_for_size(16)); diff --git a/Userland/Applications/KeyboardSettings/main.cpp b/Userland/Applications/KeyboardSettings/main.cpp index 93bbbda3f5..8e1ea89090 100644 --- a/Userland/Applications/KeyboardSettings/main.cpp +++ b/Userland/Applications/KeyboardSettings/main.cpp @@ -31,7 +31,7 @@ ErrorOr serenity_main(Main::Arguments arguments) auto window = TRY(GUI::SettingsWindow::try_create("Keyboard Settings")); window->set_icon(app_icon.bitmap_for_size(16)); - window->add_tab("Keyboard"); + TRY(window->add_tab("Keyboard")); window->show(); return app->exec(); diff --git a/Userland/Applications/MailSettings/main.cpp b/Userland/Applications/MailSettings/main.cpp index f6dc69e3b6..8f4129642d 100644 --- a/Userland/Applications/MailSettings/main.cpp +++ b/Userland/Applications/MailSettings/main.cpp @@ -28,7 +28,7 @@ ErrorOr serenity_main(Main::Arguments arguments) auto app_icon = GUI::Icon::default_icon("app-mail"); auto window = GUI::SettingsWindow::construct("Mail Settings", GUI::SettingsWindow::ShowDefaultsButton::Yes); - window->add_tab("Mail"); + TRY(window->add_tab("Mail")); window->set_icon(app_icon.bitmap_for_size(16)); window->show(); diff --git a/Userland/Applications/MouseSettings/main.cpp b/Userland/Applications/MouseSettings/main.cpp index c795f2748a..e09aa91f70 100644 --- a/Userland/Applications/MouseSettings/main.cpp +++ b/Userland/Applications/MouseSettings/main.cpp @@ -26,8 +26,8 @@ ErrorOr serenity_main(Main::Arguments arguments) auto app_icon = GUI::Icon::default_icon("app-mouse"); auto window = TRY(GUI::SettingsWindow::try_create("Mouse Settings", GUI::SettingsWindow::ShowDefaultsButton::Yes)); - window->add_tab("Mouse"); - window->add_tab("Cursor Theme"); + TRY(window->add_tab("Mouse")); + TRY(window->add_tab("Cursor Theme")); window->set_icon(app_icon.bitmap_for_size(16)); window->show(); diff --git a/Userland/Applications/TerminalSettings/main.cpp b/Userland/Applications/TerminalSettings/main.cpp index 032df20eb1..8b796ab104 100644 --- a/Userland/Applications/TerminalSettings/main.cpp +++ b/Userland/Applications/TerminalSettings/main.cpp @@ -28,8 +28,8 @@ ErrorOr serenity_main(Main::Arguments arguments) auto window = TRY(GUI::SettingsWindow::try_create("Terminal Settings")); window->set_icon(app_icon.bitmap_for_size(16)); - window->add_tab("Terminal"); - window->add_tab("View"); + TRY(window->add_tab("Terminal")); + TRY(window->add_tab("View")); window->show(); return app->exec(); diff --git a/Userland/Libraries/LibGUI/SettingsWindow.h b/Userland/Libraries/LibGUI/SettingsWindow.h index f68d0922c7..d942ff4c73 100644 --- a/Userland/Libraries/LibGUI/SettingsWindow.h +++ b/Userland/Libraries/LibGUI/SettingsWindow.h @@ -32,11 +32,11 @@ public: virtual ~SettingsWindow() override; template - T& add_tab(StringView const& title, Args&&... args) + ErrorOr> add_tab(String title, Args&&... args) { - auto& t = m_tab_widget->add_tab(title, forward(args)...); - m_tabs.append(t); - return t; + auto tab = TRY(m_tab_widget->try_add_tab(move(title), forward(args)...)); + TRY(m_tabs.try_append(tab)); + return tab; } private: