diff --git a/krita/krita.action b/krita/krita.action --- a/krita/krita.action +++ b/krita/krita.action @@ -2678,7 +2678,7 @@ Rotate Layer Rotate Layer - 100000 + 1000 1 false @@ -2690,7 +2690,7 @@ Rotate Layer 90° to the Right Rotate Layer 90° to the Right - 100000 + 1000 1 false @@ -2702,7 +2702,7 @@ Rotate Layer 90° to the Left Rotate Layer 90° to the Left - 100000 + 1000 1 false @@ -2714,7 +2714,7 @@ Rotate Layer 180° Rotate Layer 180° - 100000 + 1000 1 false diff --git a/libs/image/kis_image.cc b/libs/image/kis_image.cc --- a/libs/image/kis_image.cc +++ b/libs/image/kis_image.cc @@ -755,7 +755,11 @@ void KisImage::rotateNode(KisNodeSP node, double radians) { - rotateImpl(kundo2_i18n("Rotate Layer"), node, false, radians); + if (node->inherits("KisMask")) { + rotateImpl(kundo2_i18n("Rotate Mask"), node, false, radians); + } else { + rotateImpl(kundo2_i18n("Rotate Layer"), node, false, radians); + } } void KisImage::shearImpl(const KUndo2MagicString &actionName, diff --git a/libs/ui/kis_layer_manager.h b/libs/ui/kis_layer_manager.h --- a/libs/ui/kis_layer_manager.h +++ b/libs/ui/kis_layer_manager.h @@ -69,8 +69,6 @@ void updateGUI(); - void rotateLayer(double radians); - private Q_SLOTS: void mergeLayer(); diff --git a/libs/ui/kis_layer_manager.cc b/libs/ui/kis_layer_manager.cc --- a/libs/ui/kis_layer_manager.cc +++ b/libs/ui/kis_layer_manager.cc @@ -563,18 +563,6 @@ } -void KisLayerManager::rotateLayer(double radians) -{ - if (!m_view->image()) return; - - KisLayerSP layer = activeLayer(); - if (!layer) return; - - if (!m_view->blockUntilOperationsFinished(m_view->image())) return; - - m_view->image()->rotateNode(layer, radians); -} - void KisLayerManager::flattenImage() { KisImageSP image = m_view->image(); 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 @@ -890,9 +890,14 @@ void KisNodeManager::rotate(double radians) { - // XXX: implement rotation for masks as well - m_d->layerManager.rotateLayer(radians); + if(!m_d->view->image()) return; + KisNodeSP node = activeNode(); + if (!node) return; + + if (!m_d->view->blockUntilOperationsFinished(m_d->view->image())) return; + + m_d->view->image()->rotateNode(node, radians); } void KisNodeManager::rotate180()