diff --git a/krita/kritamenu.action b/krita/kritamenu.action
index e3bbe2ec98..8b4bbaed08 100644
--- a/krita/kritamenu.action
+++ b/krita/kritamenu.action
@@ -1,1720 +1,1720 @@
Filedocument-new&NewCreate new documentNew00Ctrl+Nfalsedocument-open&Open...Open an existing documentOpen00Ctrl+Ofalsedocument-open-recentOpen &RecentOpen a document which was recently openedOpen Recent10falsedocument-save&SaveSaveSave10Ctrl+Sfalsedocument-save-asSave &As...Save document under a new nameSave As10Ctrl+Shift+Sfalsedocument-importOpen ex&isting Document as Untitled Document...Open existing Document as Untitled DocumentOpen existing Document as Untitled Document00falsedocument-exportE&xport...ExportExport10falseapplication-pdf&Export as PDF...Export as PDFExport as PDF10falseImport animation frames...Import animation framesImport animation frames10false&Render Animation...Render Animation to GIF, Image Sequence or VideoRender Animation10000false&Render Image Sequence AgainRender Animation to Image Sequence AgainRender Animation10000falseSave Incremental &VersionSave Incremental VersionSave Incremental Version10Ctrl+Alt+SfalseSave Incremental &BackupSave Incremental BackupSave Incremental Backup10F4false&Create Template From Image...Create Template From ImageCreate Template From Image10falseCreate Copy &From Current ImageCreate Copy From Current ImageCreate Copy From Current Image10falsedocument-print&Print...Print documentPrint10Ctrl+Pfalsedocument-print-previewPrint Previe&wShow a print preview of documentPrint Preview10falseconfigure&Document InformationDocument InformationDocument Information10false&Close AllClose AllClose All10Ctrl+Shift+WfalseC&loseCloseClose10false&QuitQuit applicationQuit00Ctrl+QfalseEditedit-undoUndoUndo last actionUndo10Ctrl+Zfalseedit-redoRedoRedo last undone actionRedo10Ctrl+Shift+Zfalseedit-cutCu&tCut selection to clipboardCut00Ctrl+Xfalseedit-copy&CopyCopy selection to clipboardCopy00Ctrl+CfalseC&opy (sharp)Copy (sharp)Copy (sharp)1000000000falseCut (&sharp)Cut (sharp)Cut (sharp)1000000000falseCopy &mergedCopy mergedCopy merged1000000000Ctrl+Shift+Cfalseedit-paste&PastePaste clipboard contentPaste00Ctrl+VfalsePaste into &New ImagePaste into New ImagePaste into New Image00Ctrl+Shift+Nfalseedit-clearC&learClearClear10Delfalse&Fill with Foreground ColorFill with Foreground ColorFill with Foreground Color100001Shift+BackspacefalseFill &with Background ColorFill with Background ColorFill with Background Color100001BackspacefalseF&ill with PatternFill with PatternFill with Pattern100001falseStro&ke selected shapesStroke selected shapesStroke selected shapes10000000000falseStroke Selec&tion...Stroke selectionStroke selection100000000000falseDelete keyframeDelete keyframeDelete keyframe1000000falseWindowwindow-new&New WindowNew WindowNew Window00falseN&extNextNext100falsePreviousPreviousPreviousfalseView&Show Canvas OnlyShow just the canvas or the whole windowShow Canvas Only00Tabtrueview-fullscreenF&ull Screen ModeDisplay the window in full screenFull Screen Mode00Ctrl+Shift+Ftrue&Wrap Around ModeWrap Around ModeWrap Around Mode10Wtrue&Instant Preview ModeInstant Preview ModeInstant Preview Mode10Shift+LtrueSoft ProofingTurns on Soft ProofingTurns on Soft ProofingCtrl+YtrueOut of Gamut WarningsTurns on warnings for colors out of proofed gamut, needs soft proofing to be turned on.Turns on warnings for colors out of proofed gamut, needs soft proofing to be turned on.Ctrl+Shift+Ytruemirror-viewMirror ViewMirror ViewMirror ViewMfalsezoom-original&Reset zoomReset zoomReset zoom10Ctrl+0falsezoom-inZoom &InZoom In00Ctrl++falsezoom-outZoom &OutZoom Out00Ctrl+-false
-
+ rotate-canvas-rightRotate &Canvas RightRotate Canvas RightRotate Canvas Right10
- Ctrl+]
+ false
-
+ rotate-canvas-leftRotate Canvas &LeftRotate Canvas LeftRotate Canvas Left10
- Ctrl+[
+ falserotation-resetReset Canvas RotationReset Canvas RotationReset Canvas Rotation10falseShow &RulersThe rulers show the horizontal and vertical positions of the mouse on the image and can be used to position your mouse at the right place on the canvas. <p>Uncheck this to hide the rulers.</p>Show RulersShow Rulers10trueRulers Track PointerThe rulers will track current mouse position and show it on screen. It can cause suptle performance slowdownRulers Track PointerRulers Track Pointer10trueShow GuidesShow or hide guidesShow Guides10trueLock GuidesLock or unlock guidesLock Guides10trueSnap to GuidesSnap cursor to guides positionSnap to Guides10trueShow Status &BarShow or hide the status barShow Status Bar00trueview-gridShow &GridShow GridShow Grid10000Ctrl+Shift+'trueSnap To GridSnap To GridSnap To Grid1000Ctrl+Shift+;trueShow Snap Options PopupShow Snap Options PopupShow Snap Options Popup1000Shift+sfalseSnap OrthogonalSnap OrthogonalSnap Orthogonal1000trueSnap NodeSnap NodeSnap Node1000trueSnap ExtensionSnap ExtensionSnap Extension1000trueSnap IntersectionSnap IntersectionSnap Intersection1000trueSnap Bounding BoxSnap Bounding BoxSnap Bounding Box1000trueSnap Image BoundsSnap Image BoundsSnap Image Bounds1000trueSnap Image CenterSnap Image CenterSnap Image Center1000trueS&how Painting AssistantsShow Painting AssistantsShow Painting Assistants10000trueShow &Assistant PreviewsShow Assistant PreviewsShow Assistant Previews10000trueImagedocument-properties&Properties...PropertiesProperties10000falseformat-stroke-color&Image Background Color and Transparency...Change the background color of the imageImage Background Color and Transparency10000false&Convert Image Color Space...Convert Image Color SpaceConvert Image Color Space10000falsetrim-to-image&Trim to Image SizeTrim to Image SizeTrim to Image Size10falseTrim to Current &LayerTrim to Current LayerTrim to Current Layer1000000falseTrim to S&electionTrim to SelectionTrim to Selection1000000000false&Rotate Image...Rotate ImageRotate Image10000falseobject-rotate-rightRotate &Image 90° to the RightRotate Image 90° to the RightRotate Image 90° to the Right10000falseobject-rotate-leftRotate Image &90° to the LeftRotate Image 90° to the LeftRotate Image 90° to the Left10000falseRotate Image &180°Rotate Image 180°Rotate Image 180°10000false&Shear Image...Shear ImageShear Image10000falsesymmetry-horizontal&Mirror Image HorizontallyMirror Image HorizontallyMirror Image Horizontally10000falsesymmetry-verticalMirror Image &VerticallyMirror Image VerticallyMirror Image Vertically10000falseScale Image To &New Size...Scale Image To New SizeScale Image To New Size10000Ctrl+Alt+Ifalse&Offset Image...Offset ImageOffset Image10000falseR&esize Canvas...Resize CanvasResize Canvas10000Ctrl+Alt+CfalseIm&age Split Image SplitImage Split10000falseSeparate Ima&ge...Separate ImageSeparate Image10000falseSelectedit-select-allSelect &AllSelect AllSelect All00Ctrl+Afalseedit-select-all&DeselectDeselectDeselect11000000000Ctrl+Shift+Afalse&ReselectReselectReselect00Ctrl+Shift+Dfalse&InvertInvertInvert100000Ctrl+Ifalse&Convert to Vector SelectionConvert to Vector SelectionConvert to Vector Selection100000000000falseConvert Shapes to &Vector SelectionConvert Shapes to Vector SelectionConvert Shapes to Vector Selection10000000000false&Feather Selection...Feather SelectionFeather Selection10000000000100Shift+F6falseDis&play SelectionDisplay SelectionDisplay Selection10000Ctrl+HtrueSca&le...ScaleScale100000000100falseS&elect from Color Range...Select from Color RangeSelect from Color Range10000100falseSelect &OpaqueSelect OpaqueSelect Opaque10000100false&Grow Selection...Grow SelectionGrow Selection10000000000100falseS&hrink Selection...Shrink SelectionShrink Selection10000000000100false&Border Selection...Border SelectionBorder Selection10000000000100falseS&moothSmoothSmooth10000000000100falseFilter&Apply Filter AgainApply Filter AgainApply Filter Again00Ctrl+FfalseAdjustAdjustAdjustfalseArtisticArtisticArtisticfalseBlurBlurBlurfalseColorsColorsColorsfalseEdge DetectionEdge DetectionEdge DetectionfalseEnhanceEnhanceEnhancefalseEmbossEmbossEmbossfalseMapMapMapfalseOtherOtherOtherfalseG'MICApply G'Mic ActionApply G'Mic ActionfalseToolsmedia-record&Start recording macroStart recording macroStart recording macro10000falsemedia-playback-stopStop &recording actionsStop recording actionsStop recording actions10000falsemedia-playback-start&Open and play...Open and playOpen and play00falsedocument-editOpen &and edit...Open and editOpen and edit00falseSettingsconfigure&Configure Krita...Configure KritaConfigure Krita00false&Manage Resources...Manage ResourcesManage Resources00falsepreferences-desktop-localeSwitch Application &Language...Switch Application LanguageSwitch Application Languagefalse&Show DockersShow DockersShow Dockers00trueSho&w Docker TitlebarsShow Docker TitlebarsShow Docker Titlebars00trueconfigureConfigure Tool&bars...Configure ToolbarsConfigure Toolbars00falseDockersDockersDockersfalse&ThemesThemesThemesfalseim-userActive Author ProfileActive Author ProfileActive Author Profileconfigure-shortcutsConfigure S&hortcuts...Configure ShortcutsConfigure Shortcuts00false&WindowWindowWindowfalseHelphelp-contentsKrita &HandbookKrita HandbookKrita HandbookF1falsetools-report-bug&Report Bug...Report BugReport Bugfalsecalligrakrita&About KritaAbout KritaAbout KritafalsekdeAbout &KDEAbout KDEAbout KDEfalseBrushes and Stuff&GradientsGradientsGradientsfalse&PatternsPatternsPatternsfalse&ColorColorColorfalse&Painter's ToolsPainter's ToolsPainter's ToolsfalseBrush compositeBrush compositeBrush compositefalseBrush option slider 1Brush option slider 1Brush option slider 1falseBrush option slider 2Brush option slider 2Brush option slider 2falseBrush option slider 3Brush option slider 3Brush option slider 3falseMirrorMirrorMirrorfalseWorkspacesWorkspacesWorkspacesfalse
diff --git a/krita/pics/svg/dark_rotate-canvas-left.svg b/krita/pics/svg/dark_rotate-canvas-left.svg
new file mode 100644
index 0000000000..40f926751f
--- /dev/null
+++ b/krita/pics/svg/dark_rotate-canvas-left.svg
@@ -0,0 +1,143 @@
+
+
+
+
diff --git a/krita/pics/svg/dark_rotate-canvas-right.svg b/krita/pics/svg/dark_rotate-canvas-right.svg
new file mode 100644
index 0000000000..ae06d38fc3
--- /dev/null
+++ b/krita/pics/svg/dark_rotate-canvas-right.svg
@@ -0,0 +1,142 @@
+
+
+
+
diff --git a/krita/pics/svg/light_rotate-canvas-left.svg b/krita/pics/svg/light_rotate-canvas-left.svg
new file mode 100644
index 0000000000..7169cd331e
--- /dev/null
+++ b/krita/pics/svg/light_rotate-canvas-left.svg
@@ -0,0 +1,143 @@
+
+
+
+
diff --git a/krita/pics/svg/light_rotate-canvas-right.svg b/krita/pics/svg/light_rotate-canvas-right.svg
new file mode 100644
index 0000000000..b093ca62c9
--- /dev/null
+++ b/krita/pics/svg/light_rotate-canvas-right.svg
@@ -0,0 +1,143 @@
+
+
+
+
diff --git a/krita/pics/svg/svg-icons.qrc b/krita/pics/svg/svg-icons.qrc
index 9668931516..b28a869447 100644
--- a/krita/pics/svg/svg-icons.qrc
+++ b/krita/pics/svg/svg-icons.qrc
@@ -1,138 +1,142 @@
broken-preset.svgzdark_addblankframe.svgdark_addcolor.svgdark_addduplicateframe.svgdark_deletekeyframe.svgdark_docker_lock_a.svgdark_docker_lock_b.svgdark_layer-locked.svgdark_layer-unlocked.svgdark_nextframe.svgdark_nextkeyframe.svgdark_lastframe.svgdark_prevkeyframe.svgdark_firstframe.svgdark_pallete_librarysvg.svgdark_passthrough-disabled.svgdark_passthrough-enabled.svgdark_prevframe.svgdark_selection-mode_ants.svgdark_selection-mode_invisible.svgdark_selection-mode_mask.svgdark_transparency-disabled.svgdark_transparency-enabled.svgdark_trim-to-image.svgdelete.svgzlayer-style-disabled.svglayer-style-enabled.svglight_addblankframe.svglight_addcolor.svglight_addduplicateframe.svglight_deletekeyframe.svglight_docker_lock_a.svglight_docker_lock_b.svglight_layer-locked.svglight_layer-unlocked.svglight_nextframe.svglight_pallete_library.svglight_passthrough-disabled.svgzlight_passthrough-enabled.svgzlight_prevframe.svglight_nextkeyframe.svglight_lastframe.svglight_prevkeyframe.svglight_firstframe.svglight_selection-mode_ants.svglight_selection-mode_invisible.svglight_selection-mode_mask.svglight_timeline_keyframe.svglight_transparency-disabled.svglight_transparency-enabled.svglight_trim-to-image.svgpaintop_presets_disabled.svgzpaintop_settings_01.svgzselection-info.svgselection-mode_invisible.svgsvg-icons.qrctransparency-locked.svgtransparency-unlocked.svgworkspace-chooser.svglight_lazyframeOn.svglight_lazyframeOff.svgdark_lazyframeOn.svgdark_lazyframeOff.svgdark_mirror-view.svglight_mirror-view.svgdark_rotation-reset.svglight_rotation-reset.svglight_smoothing-basic.svglight_smoothing-no.svglight_smoothing-stabilizer.svglight_smoothing-weighted.svgdark_smoothing-basic.svgdark_smoothing-no.svgdark_smoothing-stabilizer.svgdark_smoothing-weighted.svglight_merge-layer-below.svgdark_merge-layer-below.svg
-
+ light_rotate-canvas-left.svg
+ light_rotate-canvas-right.svg
+ dark_rotate-canvas-left.svg
+ dark_rotate-canvas-right.svg
+
dark_animation_play.svgdark_animation_stop.svgdark_dropframe.svgdark_droppedframes.svglight_animation_play.svglight_animation_stop.svglight_dropframe.svglight_droppedframes.svgdark_landscape.svgdark_portrait.svglight_landscape.svglight_portrait.svgdark_interpolation_constant.svgdark_interpolation_linear.svgdark_interpolation_bezier.svgdark_interpolation_sharp.svgdark_interpolation_smooth.svglight_interpolation_bezier.svglight_interpolation_constant.svglight_interpolation_linear.svglight_interpolation_sharp.svglight_interpolation_smooth.svgdark_audio-none.svgdark_audio-volume-high.svgdark_audio-volume-mute.svgdark_keyframe-add.svgdark_keyframe-remove.svgdark_zoom-fit.svgdark_zoom-horizontal.svgdark_zoom-vertical.svglight_audio-none.svglight_audio-volume-high.svglight_audio-volume-mute.svglight_keyframe-add.svglight_keyframe-remove.svglight_zoom-fit.svglight_zoom-horizontal.svglight_zoom-vertical.svgdark_showColoring.svgdark_showMarks.svgdark_showColoringOff.svgdark_showMarksOff.svgdark_updateColorize.svglight_showColoring.svglight_showMarks.svglight_showColoringOff.svglight_showMarksOff.svglight_updateColorize.svg