diff options
| -rw-r--r-- | gui/ui.cpp | 26 | ||||
| -rw-r--r-- | gui/ui.h | 3 | 
2 files changed, 25 insertions, 4 deletions
| @@ -122,6 +122,8 @@ MainWindow::MainWindow() :      register_shortcuts(); +    connect(this, &MainWindow::emit_minimized, this, &MainWindow::mark_minimized, Qt::QueuedConnection); +          ui.btnStartTracker->setFocus();  } @@ -419,6 +421,9 @@ void MainWindow::set_title(const QString& game_title_)  void MainWindow::showHeadPose()  { +    if (!ui.video_frame->isEnabled()) +        return; +      double mapped[6], raw[6];      work->tracker->get_raw_and_mapped_poses(mapped, raw); @@ -548,15 +553,28 @@ void MainWindow::restore_from_tray(QSystemTrayIcon::ActivationReason)  void MainWindow::changeEvent(QEvent* e)  { -    if (s.tray_enabled && e->type() == QEvent::WindowStateChange && (windowState() & Qt::WindowMinimized)) +    if (e->type() == QEvent::WindowStateChange)      { -        if (!tray) -            ensure_tray(); -        hide(); +        const bool is_minimized = windowState() & Qt::WindowMinimized; +         +        if (s.tray_enabled && is_minimized) +        { +            if (!tray) +                ensure_tray(); +            hide(); +        } +         +        emit_minimized(is_minimized);      } +          QMainWindow::changeEvent(e);  } +void MainWindow::mark_minimized(bool is_minimized) +{ +    ui.video_frame->setEnabled(!is_minimized); +} +  void MainWindow::maybe_start_profile_from_executable()  {      if (!work) @@ -106,10 +106,13 @@ private slots:      void startTracker();      void stopTracker();      void reload_options(); +    void mark_minimized(bool is_minimized);  signals:      void emit_start_tracker();      void emit_stop_tracker();      void emit_toggle_tracker(); +     +    void emit_minimized(bool);  public:      MainWindow();      ~MainWindow(); | 
