1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:37:46 +00:00

LibGUI: Convert GRadioButton to ObjectPtr

This commit is contained in:
Andreas Kling 2019-09-21 18:58:03 +02:00
parent 870bc2a4d1
commit f8d751440b
3 changed files with 11 additions and 6 deletions

View file

@ -107,8 +107,8 @@ ObjectPtr<GWindow> create_settings_window(TerminalWidget& terminal, RefPtr<CConf
radio_container->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed); radio_container->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
radio_container->set_preferred_size(100, 70); radio_container->set_preferred_size(100, 70);
auto* sysbell_radio = new GRadioButton("Use (Audible) System Bell", radio_container); auto sysbell_radio = GRadioButton::construct("Use (Audible) System Bell", radio_container);
auto* visbell_radio = new GRadioButton("Use (Visual) Terminal Bell", radio_container); auto visbell_radio = GRadioButton::construct("Use (Visual) Terminal Bell", radio_container);
sysbell_radio->set_checked(terminal.should_beep()); sysbell_radio->set_checked(terminal.should_beep());
visbell_radio->set_checked(!terminal.should_beep()); visbell_radio->set_checked(!terminal.should_beep());
sysbell_radio->on_checked = [&terminal](const bool checked) { sysbell_radio->on_checked = [&terminal](const bool checked) {
@ -181,8 +181,13 @@ int main(int argc, char** argv)
auto app_menu = make<GMenu>("Terminal"); auto app_menu = make<GMenu>("Terminal");
app_menu->add_action(GAction::create("Settings...", load_png("/res/icons/gear16.png"), app_menu->add_action(GAction::create("Settings...", load_png("/res/icons/gear16.png"),
[&](const GAction&) { [&](const GAction&) {
if (!settings_window) if (!settings_window) {
settings_window = create_settings_window(*terminal, config); settings_window = create_settings_window(*terminal, config);
settings_window->on_close_request = [&] {
settings_window = nullptr;
return GWindow::CloseRequestDecision::Close;
};
}
settings_window->show(); settings_window->show();
settings_window->move_to_front(); settings_window->move_to_front();
})); }));

View file

@ -33,9 +33,9 @@ int main(int argc, char** argv)
auto* checkbox2 = new GCheckBox("GCheckBox 2", main_widget); auto* checkbox2 = new GCheckBox("GCheckBox 2", main_widget);
checkbox2->set_enabled(false); checkbox2->set_enabled(false);
auto* radio1 = new GRadioButton("GRadioButton 1", main_widget); auto radio1 = GRadioButton::construct("GRadioButton 1", main_widget);
(void)radio1; (void)radio1;
auto* radio2 = new GRadioButton("GRadioButton 2", main_widget); auto radio2 = GRadioButton::construct("GRadioButton 2", main_widget);
radio2->set_enabled(false); radio2->set_enabled(false);
auto* button1 = new GButton("GButton 1", main_widget); auto* button1 = new GButton("GButton 1", main_widget);

View file

@ -5,12 +5,12 @@
class GRadioButton : public GAbstractButton { class GRadioButton : public GAbstractButton {
C_OBJECT(GRadioButton) C_OBJECT(GRadioButton)
public: public:
GRadioButton(const StringView& text, GWidget* parent);
virtual ~GRadioButton() override; virtual ~GRadioButton() override;
virtual void click() override; virtual void click() override;
protected: protected:
GRadioButton(const StringView& text, GWidget* parent);
virtual void paint_event(GPaintEvent&) override; virtual void paint_event(GPaintEvent&) override;
private: private: