diff --git a/krita/krita.action b/krita/krita.action --- a/krita/krita.action +++ b/krita/krita.action @@ -2670,6 +2670,30 @@ false + + + Node Visibility + + Node Visibility + Node Visibility + 1000 + 0 + Ctrl+Shift+K + false + + + + + Layer Lock + + Layer Lock + Layer Lock + 1000 + 0 + Ctrl+Shift+J + false + + symmetry-vertical Mirror Layer &Vertically diff --git a/libs/ui/kis_node_manager.h b/libs/ui/kis_node_manager.h --- a/libs/ui/kis_node_manager.h +++ b/libs/ui/kis_node_manager.h @@ -170,6 +170,8 @@ void nodeProperties(KisNodeSP node); void nodeOpacityChanged(qreal opacity, bool finalChange); void nodeCompositeOpChanged(const KoCompositeOp* op); + void nodeVisibilityChanged(); + void layerLockedChanged(); void duplicateActiveNode(); void removeNode(); void mirrorNodeX(); diff --git a/libs/ui/kis_node_manager.cpp b/libs/ui/kis_node_manager.cpp --- a/libs/ui/kis_node_manager.cpp +++ b/libs/ui/kis_node_manager.cpp @@ -243,6 +243,12 @@ KisAction * action = actionManager->createAction("mirrorNodeX"); connect(action, SIGNAL(triggered()), this, SLOT(mirrorNodeX())); + action = actionManager->createAction("nodeVisibility"); + connect(action,SIGNAL(triggered(bool)),this,SLOT(nodeVisibilityChanged())); + + action = actionManager->createAction("layerLock"); + connect(action,SIGNAL(triggered(bool)),this,SLOT(layerLockedChanged())); + action = actionManager->createAction("mirrorNodeY"); connect(action, SIGNAL(triggered()), this, SLOT(mirrorNodeY())); @@ -690,6 +696,8 @@ m_d->commandsAdapter.setCompositeOp(node, compositeOp); } + + void KisNodeManager::slotImageRequestNodeReselection(KisNodeSP activeNode, const KisNodeList &selectedNodes) { if (activeNode) { @@ -735,6 +743,21 @@ setNodeCompositeOp(node, op); } +void KisNodeManager::nodeVisibilityChanged() +{ + KisNodeSP node = activeNode(); + if(!node) return; + node->setVisible(!node->visible()); + node->setDirty(); +} + +void KisNodeManager::layerLockedChanged() +{ + KisNodeSP node = activeNode(); + if(!node) return; + node->setUserLocked(!node->userLocked()); +} + void KisNodeManager::duplicateActiveNode() { KUndo2MagicString actionName = kundo2_i18n("Duplicate Nodes");