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");