viewerpanelbase: stop playback when panel is defocused

This commit is contained in:
itsmattkc
2022-08-21 10:02:44 -07:00
parent e7799c9284
commit 92949c50dd
5 changed files with 33 additions and 2 deletions
+9
View File
@@ -27,6 +27,7 @@ namespace olive {
ViewerPanelBase::ViewerPanelBase(const QString& object_name, QWidget *parent) :
TimeBasedPanel(object_name, parent)
{
connect(PanelManager::instance(), &PanelManager::FocusedPanelChanged, this, &ViewerPanelBase::FocusedPanelChanged);
}
void ViewerPanelBase::PlayPause()
@@ -101,4 +102,12 @@ void ViewerPanelBase::SetViewerWidget(ViewerWidget *vw)
SetTimeBasedWidget(vw);
}
void ViewerPanelBase::FocusedPanelChanged(PanelWidget *panel)
{
auto vw = static_cast<ViewerWidget*>(GetTimeBasedWidget());
if (vw->IsPlaying() && panel != this) {
vw->Pause();
}
}
}