Explorar el Código

LibGUI+TextEditor: Make GButton activate its action if present

Previously even if you assigned a GAction to a GButton, you still had
to activate() the action manually by hooking the GButton::on_click
callback.
Andreas Kling hace 6 años
padre
commit
e8e8741c88

+ 0 - 6
Applications/TextEditor/TextEditorWidget.cpp

@@ -74,17 +74,11 @@ TextEditorWidget::TextEditorWidget()
     m_find_previous_button->set_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
     m_find_previous_button->set_preferred_size(64, 0);
     m_find_previous_button->set_action(*m_find_previous_action);
-    m_find_previous_button->on_click = [&](auto&) {
-        m_find_previous_action->activate();
-    };
 
     m_find_next_button = new GButton("Next", m_find_widget);
     m_find_next_button->set_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
     m_find_next_button->set_preferred_size(64, 0);
     m_find_next_button->set_action(*m_find_next_action);
-    m_find_next_button->on_click = [&](auto&) {
-        m_find_next_action->activate();
-    };
 
     m_find_textbox->on_return_pressed = [this] {
         m_find_next_button->click();

+ 2 - 0
Libraries/LibGUI/GButton.cpp

@@ -68,6 +68,8 @@ void GButton::click()
     }
     if (on_click)
         on_click(*this);
+    if (m_action)
+        m_action->activate();
 }
 
 bool GButton::supports_keyboard_activation() const

+ 0 - 3
Libraries/LibGUI/GToolBar.cpp

@@ -31,9 +31,6 @@ void GToolBar::add_action(GAction& action)
         button->set_icon(item->action->icon());
     else
         button->set_text(item->action->text());
-    button->on_click = [&action](const GButton&) {
-        action.activate();
-    };
 
     button->set_button_style(ButtonStyle::CoolBar);
     button->set_size_policy(SizePolicy::Fixed, SizePolicy::Fixed);