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

LibCore: Make Core::Object::add<ChildType> return a ChildType&

Since the returned object is now owned by the callee object, we can
simply vend a ChildType&. This allows us to use "." instead of "->"
at the call site, which is quite nice. :^)
This commit is contained in:
Andreas Kling 2020-03-04 19:07:55 +01:00
parent fb09b6a8ce
commit 028c011760
46 changed files with 1035 additions and 1039 deletions

View file

@ -140,33 +140,33 @@ RefPtr<GUI::Window> create_settings_window(TerminalWidget& terminal)
settings.set_layout<GUI::VerticalBoxLayout>();
settings.layout()->set_margins({ 4, 4, 4, 4 });
auto radio_container = settings.add<GUI::GroupBox>("Bell Mode");
radio_container->set_layout<GUI::VerticalBoxLayout>();
radio_container->layout()->set_margins({ 6, 16, 6, 6 });
radio_container->set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
radio_container->set_preferred_size(100, 70);
auto& radio_container = settings.add<GUI::GroupBox>("Bell Mode");
radio_container.set_layout<GUI::VerticalBoxLayout>();
radio_container.layout()->set_margins({ 6, 16, 6, 6 });
radio_container.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
radio_container.set_preferred_size(100, 70);
auto sysbell_radio = radio_container->add<GUI::RadioButton>("Use (Audible) System Bell");
auto visbell_radio = radio_container->add<GUI::RadioButton>("Use (Visual) Terminal Bell");
sysbell_radio->set_checked(terminal.should_beep());
visbell_radio->set_checked(!terminal.should_beep());
sysbell_radio->on_checked = [&terminal](const bool checked) {
auto& sysbell_radio = radio_container.add<GUI::RadioButton>("Use (Audible) System Bell");
auto& visbell_radio = radio_container.add<GUI::RadioButton>("Use (Visual) Terminal Bell");
sysbell_radio.set_checked(terminal.should_beep());
visbell_radio.set_checked(!terminal.should_beep());
sysbell_radio.on_checked = [&terminal](const bool checked) {
terminal.set_should_beep(checked);
};
auto slider_container = settings.add<GUI::GroupBox>("Background Opacity");
slider_container->set_layout<GUI::VerticalBoxLayout>();
slider_container->layout()->set_margins({ 6, 16, 6, 6 });
slider_container->set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
slider_container->set_preferred_size(100, 50);
auto slider = slider_container->add<GUI::HorizontalSlider>();
auto& slider_container = settings.add<GUI::GroupBox>("Background Opacity");
slider_container.set_layout<GUI::VerticalBoxLayout>();
slider_container.layout()->set_margins({ 6, 16, 6, 6 });
slider_container.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
slider_container.set_preferred_size(100, 50);
auto& slider = slider_container.add<GUI::HorizontalSlider>();
slider->on_value_changed = [&terminal](int value) {
slider.on_value_changed = [&terminal](int value) {
terminal.set_opacity(value);
};
slider->set_range(0, 255);
slider->set_value(terminal.opacity());
slider.set_range(0, 255);
slider.set_value(terminal.opacity());
return window;
}