5import org.mauikit.controls as Maui
7import org.kde.kquickimageeditor as KQuickImageEditor
8import Qt5Compat.GraphicalEffects
16 property alias rotationSlider: _freeRotationSlider
17 property alias rotationButton : _freeRotationButton
18 property alias cropButton : _cropButton
22 position: ToolBar.Footer
23 Layout.fillWidth: true
24 visible: _freeRotationButton.checked
27 color: Maui.Theme.backgroundColor
32 icon.name: "object-flip-vertical"
33 text:
i18nc(
"@action:button Mirror an image vertically",
"Flip");
35 onClicked: imageDoc.mirror(
false,
true);
40 icon.name:
"object-flip-horizontal"
41 text:
i18nc(
"@action:button Mirror an image horizontally",
"Mirror");
44 onClicked: imageDoc.mirror(
true,
false);
49 rightContent: ToolButton
51 icon.name:
"object-rotate-left"
53 text:
i18nc(
"@action:button Rotate an image 90°",
"Rotate 90°");
56 let value = _freeRotationSlider.value-90
57 _freeRotationSlider.value = value < -180 ? 90 : value
71 visible: _freeRotationButton.checked
75 color:
Maui.Theme.backgroundColor
78 Layout.fillWidth:
true
83 id: _freeRotationSlider
84 Layout.fillWidth:
true
88 snapMode: Slider.SnapAlways
96 Layout.fillWidth:
true
99 color:
Maui.Theme.backgroundColor
101 middleContent:
Maui.ToolActions
104 Layout.alignment:
Qt.AlignHCenter
109 icon.name:
"transform-crop"
110 text:
i18nc(
"@action:button Crop an image",
"Crop");
115 id: _freeRotationButton
116 icon.name:
"transform-rotate"
118 text:
i18nc(
"@action:button Rotate an image",
"Rotate");
122 leftContent: ToolButton
125 visible: _freeRotationButton.checked || _cropButton.checked
127 icon.name:
"checkmark"
130 if(_freeRotationButton.checked)
132 var value = _freeRotationSlider.value
133 _freeRotationSlider.value = 0
135 console.log(
"Rotate >> " , value)
136 imageDoc.rotate(value);
139 if(_cropButton.checked)
146 rightContent: ToolButton
149 visible: _freeRotationButton.checked || _cropButton.checked
150 icon.name:
"dialog-cancel"
153 if(_freeRotationButton.checked)
155 _freeRotationSlider.value = 0
156 _freeRotationButton.checked =
false
160 if(_cropButton.checked)
162 _cropButton.checked =
false
QString i18nc(const char *context, const char *text, const TYPE &arg...)