diff --git a/app/panel/node/node.cpp b/app/panel/node/node.cpp index 4b7334378..591f7a867 100644 --- a/app/panel/node/node.cpp +++ b/app/panel/node/node.cpp @@ -32,19 +32,19 @@ NodePanel::NodePanel(QWidget *parent) : QVBoxLayout *outer_layout = new QVBoxLayout(outer_widget); outer_layout->setMargin(0); - NodeViewToolBar *toolbar = new NodeViewToolBar(); - outer_layout->addWidget(toolbar); + toolbar_ = new NodeViewToolBar(); + outer_layout->addWidget(toolbar_); // Create NodeView widget node_view_ = new NodeView(this); outer_layout->addWidget(node_view_); // Connect toolbar to NodeView - connect(toolbar, &NodeViewToolBar::MiniMapEnabledToggled, node_view_, &NodeView::SetMiniMapEnabled); - connect(toolbar, &NodeViewToolBar::AddNodeClicked, node_view_, &NodeView::ShowAddMenu); + connect(toolbar_, &NodeViewToolBar::MiniMapEnabledToggled, node_view_, &NodeView::SetMiniMapEnabled); + connect(toolbar_, &NodeViewToolBar::AddNodeClicked, node_view_, &NodeView::ShowAddMenu); // Set defaults - toolbar->SetMiniMapEnabled(true); + toolbar_->SetMiniMapEnabled(true); node_view_->SetMiniMapEnabled(true); // Connect node view signals to this panel diff --git a/app/panel/node/node.h b/app/panel/node/node.h index 607671055..910a48f5f 100644 --- a/app/panel/node/node.h +++ b/app/panel/node/node.h @@ -44,6 +44,7 @@ public: void SetGraph(NodeGraph *graph, const QVector &nodes) { node_view_->SetGraph(graph, nodes); + toolbar_->setEnabled(graph); } void ClearGraph() @@ -125,6 +126,8 @@ private: NodeView* node_view_; + NodeViewToolBar *toolbar_; + }; } diff --git a/app/widget/nodeview/nodeview.cpp b/app/widget/nodeview/nodeview.cpp index 1bfefd9dc..5369fd453 100644 --- a/app/widget/nodeview/nodeview.cpp +++ b/app/widget/nodeview/nodeview.cpp @@ -975,6 +975,10 @@ void NodeView::ShowContextMenu(const QPoint &pos) void NodeView::CreateNodeSlot(QAction *action) { + if (!graph_) { + return; + } + Node* new_node = NodeFactory::CreateFromMenuAction(action); if (new_node) {