updated scope panel to be permanent

Never liked how this was set up before. This makes more sense to me.
This commit is contained in:
itsmattkc
2022-01-02 14:05:25 -08:00
parent 61f65a3def
commit f6f67e895d
10 changed files with 88 additions and 59 deletions
+16 -5
View File
@@ -89,6 +89,7 @@ MainWindow::MainWindow(QWidget *parent) :
task_man_panel_ = new TaskManagerPanel(this);
AppendTimelinePanel();
audio_monitor_panel_ = new AudioMonitorPanel(this);
scope_panel_ = new ScopePanel(this);
// Make node-related connections
connect(node_panel_, &NodePanel::NodesSelected, param_panel_, &ParamPanel::SelectNodes);
@@ -113,6 +114,8 @@ MainWindow::MainWindow(QWidget *parent) :
sequence_viewer_panel_->ConnectTimeBasedPanel(param_panel_);
sequence_viewer_panel_->ConnectTimeBasedPanel(curve_panel_);
scope_panel_->SetViewerPanel(sequence_viewer_panel_);
UpdateTitle();
QMetaObject::invokeMethod(this, &MainWindow::SetDefaultLayout, Qt::QueuedConnection);
@@ -245,11 +248,6 @@ void MainWindow::FolderOpen(Project* p, Folder *i, bool floating)
folder_panels_.append(panel);
}
ScopePanel *MainWindow::AppendScopePanel()
{
return AppendFloatingPanelInternal<ScopePanel>(scope_panels_);
}
void MainWindow::OpenNodeInViewer(ViewerOutput *node)
{
if (viewer_panels_.contains(node)) {
@@ -414,6 +412,8 @@ void MainWindow::closeEvent(QCloseEvent *e)
return;
}
scope_panel_->SetViewerPanel(nullptr);
PanelManager::instance()->DeleteAllPanels();
SaveCustomShortcuts();
@@ -521,6 +521,10 @@ void MainWindow::ViewerCloseRequested()
{
ViewerPanel* panel = static_cast<ViewerPanel*>(sender());
if (panel == scope_panel_->GetConnectedViewerPanel()) {
scope_panel_->SetViewerPanel(sequence_viewer_panel_);
}
viewer_panels_.remove(viewer_panels_.key(panel));
panel->deleteLater();
@@ -753,6 +757,9 @@ void MainWindow::FocusedPanelChanged(PanelWidget *panel)
} else if (ProjectPanel* project = dynamic_cast<ProjectPanel*>(panel)) {
// Signal project panel focus
UpdateTitle();
} else if (ViewerPanelBase *viewer = dynamic_cast<ViewerPanelBase*>(panel)) {
// Update scopes for viewer
scope_panel_->SetViewerPanel(viewer);
}
}
@@ -772,6 +779,10 @@ void MainWindow::SetDefaultLayout()
curve_panel_->setFloating(true);
addDockWidget(Qt::TopDockWidgetArea, curve_panel_);
scope_panel_->hide();
scope_panel_->setFloating(true);
addDockWidget(Qt::TopDockWidgetArea, scope_panel_);
sequence_viewer_panel_->show();
addDockWidget(Qt::TopDockWidgetArea, sequence_viewer_panel_);