Merge branch 'master' into rational_slider

This commit is contained in:
ThomasWilshaw
2021-04-14 12:08:58 +01:00
committed by GitHub
61 changed files with 853 additions and 5364 deletions
+1 -1
View File
@@ -71,7 +71,7 @@ void MainStatusBar::UpdateStatus()
if (manager_->GetTaskCount() == 1) {
showMessage(t->GetTitle());
} else {
showMessage(tr("Running %1 background task(s)").arg(manager_->GetTaskCount()));
showMessage(tr("Running %n background task(s)", nullptr, manager_->GetTaskCount()));
}
bar_->setVisible(true);
+37
View File
@@ -261,6 +261,27 @@ ScopePanel *MainWindow::AppendScopePanel()
return AppendFloatingPanelInternal<ScopePanel>(scope_panels_);
}
void MainWindow::OpenNodeInViewer(ViewerOutput *node)
{
if (viewer_panels_.contains(node)) {
// This node already has a viewer, raise it
viewer_panels_.value(node)->raise();
} else {
// Create a viewer for this node
ViewerPanel* viewer = PanelManager::instance()->CreatePanel<ViewerPanel>(this);
viewer->SetSignalInsteadOfClose(true);
viewer->setFloating(true);
viewer->setVisible(true);
viewer->ConnectViewerNode(node);
connect(viewer, &ViewerPanel::CloseRequested, this, &MainWindow::ViewerCloseRequested);
connect(node, &ViewerOutput::RemovedFromGraph, this, &MainWindow::ViewerWithPanelRemovedFromGraph);
viewer_panels_.insert(node, viewer);
}
}
void MainWindow::SetFullscreen(bool fullscreen)
{
if (fullscreen) {
@@ -481,6 +502,22 @@ void MainWindow::ProjectCloseRequested()
Core::instance()->CloseProject(p, true);
}
void MainWindow::ViewerCloseRequested()
{
ViewerPanel* panel = static_cast<ViewerPanel*>(sender());
viewer_panels_.remove(viewer_panels_.key(panel));
panel->deleteLater();
}
void MainWindow::ViewerWithPanelRemovedFromGraph()
{
ViewerOutput* vo = static_cast<ViewerOutput*>(sender());
viewer_panels_.take(vo)->deleteLater();
disconnect(vo, &ViewerOutput::RemovedFromGraph, this, &MainWindow::ViewerWithPanelRemovedFromGraph);
}
void MainWindow::FloatingPanelCloseRequested()
{
PanelWidget* panel = static_cast<PanelWidget*>(sender());
+7
View File
@@ -71,6 +71,8 @@ public:
ScopePanel* AppendScopePanel();
void OpenNodeInViewer(ViewerOutput* node);
enum ProgressStatus {
kProgressNone,
kProgressShow,
@@ -155,6 +157,7 @@ private:
PixelSamplerPanel* pixel_sampler_panel_;
QList<ScopePanel*> scope_panels_;
NodeTablePanel* table_panel_;
QMap<ViewerOutput*, ViewerPanel*> viewer_panels_;
#ifdef Q_OS_WINDOWS
unsigned int taskbar_btn_id_;
@@ -173,6 +176,10 @@ private slots:
void ProjectCloseRequested();
void ViewerCloseRequested();
void ViewerWithPanelRemovedFromGraph();
void FloatingPanelCloseRequested();
void StatusBarDoubleClicked();