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

Userland: Use non-fallible EventReceiver::add() where possible

This commit is contained in:
Tim Ledbetter 2023-09-22 22:28:59 +01:00 committed by Andreas Kling
parent 707ca984bd
commit b4e134cb52
54 changed files with 934 additions and 934 deletions

View file

@ -132,13 +132,13 @@ ErrorOr<void> InputBox::build()
main_widget->set_fill_with_background_color(true);
if (!m_prompt.is_empty()) {
auto prompt_container = TRY(main_widget->try_add<Widget>());
prompt_container->set_layout<HorizontalBoxLayout>(0, 8);
auto& prompt_container = main_widget->add<Widget>();
prompt_container.set_layout<HorizontalBoxLayout>(0, 8);
if (m_icon) {
auto image_widget = TRY(prompt_container->try_add<ImageWidget>());
image_widget->set_bitmap(m_icon);
auto& image_widget = prompt_container.add<ImageWidget>();
image_widget.set_bitmap(m_icon);
}
m_prompt_label = TRY(prompt_container->try_add<Label>());
m_prompt_label = prompt_container.add<Label>();
m_prompt_label->set_autosize(true);
m_prompt_label->set_text_wrapping(Gfx::TextWrapping::DontWrap);
m_prompt_label->set_text(m_prompt);
@ -147,21 +147,21 @@ ErrorOr<void> InputBox::build()
switch (m_input_type) {
case InputType::Text:
case InputType::NonemptyText:
m_text_editor = TRY(main_widget->try_add<TextBox>());
m_text_editor = main_widget->add<TextBox>();
break;
case InputType::Password:
m_text_editor = TRY(main_widget->try_add<PasswordBox>());
m_text_editor = main_widget->add<PasswordBox>();
break;
case InputType::Numeric:
m_spinbox = TRY(main_widget->try_add<SpinBox>());
m_spinbox = main_widget->add<SpinBox>();
break;
}
auto button_container = TRY(main_widget->try_add<Widget>());
button_container->set_layout<HorizontalBoxLayout>(0, 6);
button_container->add_spacer();
auto& button_container = main_widget->add<Widget>();
button_container.set_layout<HorizontalBoxLayout>(0, 6);
button_container.add_spacer();
m_ok_button = TRY(button_container->try_add<DialogButton>("OK"_string));
m_ok_button = button_container.add<DialogButton>("OK"_string);
m_ok_button->on_click = [this](auto) {
if (m_spinbox)
m_spinbox->set_value_from_current_text();
@ -169,15 +169,15 @@ ErrorOr<void> InputBox::build()
};
m_ok_button->set_default(true);
m_cancel_button = TRY(button_container->try_add<DialogButton>("Cancel"_string));
m_cancel_button = button_container.add<DialogButton>("Cancel"_string);
m_cancel_button->on_click = [this](auto) { done(ExecResult::Cancel); };
auto guarantee_width = [this, button_container] {
auto guarantee_width = [this, &button_container] {
if (m_prompt.is_empty())
return;
auto width = button_container->calculated_min_size().value().width().as_int();
auto width = button_container.calculated_min_size().value().width().as_int();
auto constexpr golden_ratio = 1.618;
button_container->set_min_width(width * golden_ratio);
button_container.set_min_width(width * golden_ratio);
};
guarantee_width();
on_font_change = [guarantee_width] { guarantee_width(); };

View file

@ -154,41 +154,41 @@ ErrorOr<void> MessageBox::build()
main_widget->set_fill_with_background_color(true);
main_widget->set_layout<VerticalBoxLayout>(8, 6);
auto message_container = TRY(main_widget->try_add<Widget>());
auto& message_container = main_widget->add<Widget>();
auto message_margins = Margins { 8, m_type != Type::None ? 8 : 0 };
message_container->set_layout<HorizontalBoxLayout>(message_margins, 8);
message_container.set_layout<HorizontalBoxLayout>(message_margins, 8);
if (auto icon = TRY(this->icon()); icon && m_type != Type::None) {
auto image_widget = TRY(message_container->try_add<ImageWidget>());
image_widget->set_bitmap(icon);
auto& image_widget = message_container.add<ImageWidget>();
image_widget.set_bitmap(icon);
}
m_text_label = TRY(message_container->try_add<Label>());
m_text_label = message_container.add<Label>();
m_text_label->set_text_wrapping(Gfx::TextWrapping::DontWrap);
m_text_label->set_autosize(true);
if (m_type != Type::None)
m_text_label->set_text_alignment(Gfx::TextAlignment::CenterLeft);
auto button_container = TRY(main_widget->try_add<Widget>());
button_container->set_layout<HorizontalBoxLayout>(Margins {}, 8);
auto& button_container = main_widget->add<Widget>();
button_container.set_layout<HorizontalBoxLayout>(Margins {}, 8);
auto add_button = [&](String text, ExecResult result) -> ErrorOr<NonnullRefPtr<Button>> {
auto button = TRY(button_container->try_add<DialogButton>());
button->set_text(move(text));
button->on_click = [this, result](auto) { done(result); };
auto add_button = [&](String text, ExecResult result) -> NonnullRefPtr<Button> {
auto& button = button_container.add<DialogButton>();
button.set_text(move(text));
button.on_click = [this, result](auto) { done(result); };
return button;
};
button_container->add_spacer();
button_container.add_spacer();
if (should_include_ok_button())
m_ok_button = TRY(add_button("OK"_string, ExecResult::OK));
m_ok_button = add_button("OK"_string, ExecResult::OK);
if (should_include_yes_button())
m_yes_button = TRY(add_button("Yes"_string, ExecResult::Yes));
m_yes_button = add_button("Yes"_string, ExecResult::Yes);
if (should_include_no_button())
m_no_button = TRY(add_button("No"_string, ExecResult::No));
m_no_button = add_button("No"_string, ExecResult::No);
if (should_include_cancel_button())
m_cancel_button = TRY(add_button("Cancel"_string, ExecResult::Cancel));
button_container->add_spacer();
m_cancel_button = add_button("Cancel"_string, ExecResult::Cancel);
button_container.add_spacer();
return {};
}

View file

@ -36,34 +36,34 @@ ErrorOr<NonnullRefPtr<SettingsWindow>> SettingsWindow::create(DeprecatedString t
main_widget->set_fill_with_background_color(true);
main_widget->set_layout<GUI::VerticalBoxLayout>(4, 6);
window->m_tab_widget = TRY(main_widget->try_add<GUI::TabWidget>());
window->m_tab_widget = main_widget->add<GUI::TabWidget>();
auto button_container = TRY(main_widget->try_add<GUI::Widget>());
button_container->set_preferred_size({ SpecialDimension::Grow, SpecialDimension::Fit });
button_container->set_layout<GUI::HorizontalBoxLayout>(GUI::Margins {}, 6);
auto& button_container = main_widget->add<GUI::Widget>();
button_container.set_preferred_size({ SpecialDimension::Grow, SpecialDimension::Fit });
button_container.set_layout<GUI::HorizontalBoxLayout>(GUI::Margins {}, 6);
if (show_defaults_button == ShowDefaultsButton::Yes) {
window->m_reset_button = TRY(button_container->try_add<GUI::DialogButton>("Defaults"_string));
window->m_reset_button = button_container.add<GUI::DialogButton>("Defaults"_string);
window->m_reset_button->on_click = [window = window->make_weak_ptr<SettingsWindow>()](auto) {
window->reset_default_values();
};
}
button_container->add_spacer();
button_container.add_spacer();
window->m_ok_button = TRY(button_container->try_add<GUI::DialogButton>("OK"_string));
window->m_ok_button = button_container.add<GUI::DialogButton>("OK"_string);
window->m_ok_button->on_click = [window = window->make_weak_ptr<SettingsWindow>()](auto) {
window->apply_settings();
GUI::Application::the()->quit();
};
window->m_cancel_button = TRY(button_container->try_add<GUI::DialogButton>("Cancel"_string));
window->m_cancel_button = button_container.add<GUI::DialogButton>("Cancel"_string);
window->m_cancel_button->on_click = [window = window->make_weak_ptr<SettingsWindow>()](auto) {
window->cancel_settings();
GUI::Application::the()->quit();
};
window->m_apply_button = TRY(button_container->try_add<GUI::DialogButton>("Apply"_string));
window->m_apply_button = button_container.add<GUI::DialogButton>("Apply"_string);
window->m_apply_button->set_enabled(false);
window->m_apply_button->on_click = [window = window->make_weak_ptr<SettingsWindow>()](auto) {
window->apply_settings();

View file

@ -25,19 +25,19 @@ ErrorOr<void> CoverWizardPage::build(String title, String subtitle)
set_fill_with_background_color(true);
set_background_role(Gfx::ColorRole::Base);
set_layout<HorizontalBoxLayout>();
m_banner_image_widget = TRY(try_add<ImageWidget>());
m_banner_image_widget = add<ImageWidget>();
m_banner_image_widget->set_fixed_size(160, 315);
m_banner_image_widget->load_from_file("/res/graphics/wizard-banner-simple.png"sv);
m_content_widget = TRY(try_add<Widget>());
m_content_widget = add<Widget>();
m_content_widget->set_layout<VerticalBoxLayout>(20);
m_header_label = TRY(m_content_widget->try_add<Label>(move(title)));
m_header_label = m_content_widget->add<Label>(move(title));
m_header_label->set_font(Gfx::FontDatabase::the().get("Pebbleton"_fly_string, 14, 700, Gfx::FontWidth::Normal, 0));
m_header_label->set_text_alignment(Gfx::TextAlignment::TopLeft);
m_header_label->set_fixed_height(48);
m_body_label = TRY(m_content_widget->try_add<Label>(move(subtitle)));
m_body_label = m_content_widget->add<Label>(move(subtitle));
m_body_label->set_text_alignment(Gfx::TextAlignment::TopLeft);
return {};

View file

@ -29,24 +29,24 @@ ErrorOr<void> WizardDialog::build()
main_widget->set_fill_with_background_color(true);
main_widget->set_layout<VerticalBoxLayout>(Margins {}, 0);
m_page_container_widget = TRY(main_widget->try_add<Widget>());
m_page_container_widget = main_widget->add<Widget>();
m_page_container_widget->set_fixed_size(500, 315);
m_page_container_widget->set_layout<VerticalBoxLayout>();
auto separator = TRY(main_widget->try_add<SeparatorWidget>(Gfx::Orientation::Horizontal));
separator->set_fixed_height(2);
auto& separator = main_widget->add<SeparatorWidget>(Gfx::Orientation::Horizontal);
separator.set_fixed_height(2);
auto nav_container_widget = TRY(main_widget->try_add<Widget>());
nav_container_widget->set_layout<HorizontalBoxLayout>(Margins { 0, 10 }, 0);
nav_container_widget->set_fixed_height(42);
nav_container_widget->add_spacer();
auto& nav_container_widget = main_widget->add<Widget>();
nav_container_widget.set_layout<HorizontalBoxLayout>(Margins { 0, 10 }, 0);
nav_container_widget.set_fixed_height(42);
nav_container_widget.add_spacer();
m_back_button = TRY(nav_container_widget->try_add<DialogButton>("< Back"_string));
m_back_button = nav_container_widget.add<DialogButton>("< Back"_string);
m_back_button->on_click = [&](auto) {
pop_page();
};
m_next_button = TRY(nav_container_widget->try_add<DialogButton>("Next >"_string));
m_next_button = nav_container_widget.add<DialogButton>("Next >"_string);
m_next_button->on_click = [&](auto) {
VERIFY(has_pages());
@ -60,10 +60,10 @@ ErrorOr<void> WizardDialog::build()
push_page(*next_page);
};
auto button_spacer = TRY(nav_container_widget->try_add<Widget>());
button_spacer->set_fixed_width(10);
auto& button_spacer = nav_container_widget.add<Widget>();
button_spacer.set_fixed_width(10);
m_cancel_button = TRY(nav_container_widget->try_add<DialogButton>("Cancel"_string));
m_cancel_button = nav_container_widget.add<DialogButton>("Cancel"_string);
m_cancel_button->on_click = [&](auto) {
handle_cancel();
};

View file

@ -25,26 +25,26 @@ ErrorOr<void> WizardPage::build(String title, String subtitle)
{
set_layout<VerticalBoxLayout>(Margins {}, 0);
auto header_widget = TRY(try_add<Widget>());
header_widget->set_fill_with_background_color(true);
header_widget->set_background_role(Gfx::ColorRole::Base);
header_widget->set_fixed_height(58);
auto& header_widget = add<Widget>();
header_widget.set_fill_with_background_color(true);
header_widget.set_background_role(Gfx::ColorRole::Base);
header_widget.set_fixed_height(58);
header_widget->set_layout<VerticalBoxLayout>(Margins { 15, 30, 0 });
m_title_label = TRY(header_widget->try_add<Label>(move(title)));
header_widget.set_layout<VerticalBoxLayout>(Margins { 15, 30, 0 });
m_title_label = header_widget.add<Label>(move(title));
m_title_label->set_font(Gfx::FontDatabase::default_font().bold_variant());
m_title_label->set_fixed_height(m_title_label->font().pixel_size_rounded_up() + 2);
m_title_label->set_text_alignment(Gfx::TextAlignment::TopLeft);
m_subtitle_label = TRY(header_widget->try_add<Label>(move(subtitle)));
m_subtitle_label = header_widget.add<Label>(move(subtitle));
m_subtitle_label->set_text_alignment(Gfx::TextAlignment::TopLeft);
m_subtitle_label->set_fixed_height(m_subtitle_label->font().pixel_size_rounded_up());
header_widget->add_spacer();
header_widget.add_spacer();
auto separator = TRY(try_add<SeparatorWidget>(Gfx::Orientation::Horizontal));
separator->set_fixed_height(2);
auto& separator = add<SeparatorWidget>(Gfx::Orientation::Horizontal);
separator.set_fixed_height(2);
m_body_widget = TRY(try_add<Widget>());
m_body_widget = add<Widget>();
m_body_widget->set_layout<VerticalBoxLayout>(20);
return {};