Browse Source

LibGUI: Add on_active_window_change function object to the Window class

Karol Kosek 3 years ago
parent
commit
ac21c6625d
2 changed files with 3 additions and 0 deletions
  1. 2 0
      Userland/Libraries/LibGUI/Window.cpp
  2. 1 0
      Userland/Libraries/LibGUI/Window.h

+ 2 - 0
Userland/Libraries/LibGUI/Window.cpp

@@ -491,6 +491,8 @@ void Window::handle_became_active_or_inactive_event(Core::Event& event)
         Application::the()->window_did_become_active({}, *this);
         Application::the()->window_did_become_active({}, *this);
     else
     else
         Application::the()->window_did_become_inactive({}, *this);
         Application::the()->window_did_become_inactive({}, *this);
+    if (on_active_window_change)
+        on_active_window_change(event.type() == Event::WindowBecameActive);
     if (m_main_widget)
     if (m_main_widget)
         m_main_widget->dispatch_event(event, this);
         m_main_widget->dispatch_event(event, this);
     if (m_focused_widget)
     if (m_focused_widget)

+ 1 - 0
Userland/Libraries/LibGUI/Window.h

@@ -83,6 +83,7 @@ public:
     Function<void()> on_close;
     Function<void()> on_close;
     Function<CloseRequestDecision()> on_close_request;
     Function<CloseRequestDecision()> on_close_request;
     Function<void(bool is_active_input)> on_active_input_change;
     Function<void(bool is_active_input)> on_active_input_change;
+    Function<void(bool is_active_window)> on_active_window_change;
 
 
     int x() const { return rect().x(); }
     int x() const { return rect().x(); }
     int y() const { return rect().y(); }
     int y() const { return rect().y(); }