Browse Source

LibGUI: Add on_activity_change function to Window

Reports changes on the active/inactive state of a window.
thankyouverycool 5 years ago
parent
commit
dc716194c8
2 changed files with 3 additions and 0 deletions
  1. 2 0
      Libraries/LibGUI/Window.cpp
  2. 1 0
      Libraries/LibGUI/Window.h

+ 2 - 0
Libraries/LibGUI/Window.cpp

@@ -329,6 +329,8 @@ void Window::event(Core::Event& event)
 
     if (event.type() == Event::WindowBecameActive || event.type() == Event::WindowBecameInactive) {
         m_is_active = event.type() == Event::WindowBecameActive;
+        if (on_activity_change)
+            on_activity_change(m_is_active);
         if (m_main_widget)
             m_main_widget->dispatch_event(event, this);
         if (m_focused_widget)

+ 1 - 0
Libraries/LibGUI/Window.h

@@ -98,6 +98,7 @@ public:
     };
 
     Function<CloseRequestDecision()> on_close_request;
+    Function<void(const bool is_active)> on_activity_change;
 
     int x() const { return rect().x(); }
     int y() const { return rect().y(); }