Warning, /graphics/spectacle/src/Gui/UndoRedoGroup.qml is written in an unsupported language. File is not indexed.

0001 /* SPDX-FileCopyrightText: 2022 Noah Davis <noahadvs@gmail.com>
0002  * SPDX-License-Identifier: LGPL-2.0-or-later
0003  */
0004 
0005 import QtQuick
0006 import QtQuick.Controls as QQC
0007 import org.kde.kirigami as Kirigami
0008 import org.kde.spectacle.private
0009 import "Annotations"
0010 
0011 Grid {
0012     id: root
0013     property int focusPolicy: Qt.StrongFocus
0014     property real buttonHeight: undoButton.implicitHeight
0015     property bool animationsEnabled: true
0016     spacing: Kirigami.Units.mediumSpacing
0017     columns: flow === Grid.LeftToRight ? visibleChildren.length : 1
0018     rows: flow === Grid.TopToBottom ? visibleChildren.length : 1
0019 
0020     add: Transition {
0021         enabled: root.animationsEnabled
0022         NumberAnimation { properties: "x,y"; duration: Kirigami.Units.longDuration; easing.type: Easing.OutCubic }
0023     }
0024 
0025     QQC.ToolButton {
0026         id: undoButton
0027         enabled: AnnotationDocument.undoStackDepth > 0
0028         height: root.buttonHeight
0029         focusPolicy: root.focusPolicy
0030         display: QQC.ToolButton.IconOnly
0031         text: i18n("Undo")
0032         icon.name: "edit-undo"
0033         autoRepeat: true
0034         QQC.ToolTip.text: text
0035         QQC.ToolTip.visible: hovered || pressed
0036         QQC.ToolTip.delay: Kirigami.Units.toolTipDelay
0037         onClicked: AnnotationDocument.undo()
0038     }
0039 
0040     QQC.ToolButton {
0041         enabled: AnnotationDocument.redoStackDepth > 0
0042         height: root.buttonHeight
0043         focusPolicy: root.focusPolicy
0044         display: QQC.ToolButton.IconOnly
0045         text: i18n("Redo")
0046         icon.name: "edit-redo"
0047         autoRepeat: true
0048         QQC.ToolTip.text: text
0049         QQC.ToolTip.visible: hovered || pressed
0050         QQC.ToolTip.delay: Kirigami.Units.toolTipDelay
0051         onClicked: AnnotationDocument.redo()
0052     }
0053 
0054     QQC.ToolSeparator {
0055         height: root.flow === Grid.TopToBottom ? implicitWidth : parent.height
0056         width: root.flow === Grid.TopToBottom ? parent.width : implicitWidth
0057     }
0058 }