/*SPDX-FileCopyrightText: 2011-2013 Sebastian KΓΌgler <sebas@kde.org>SPDX-FileCopyrightText: 2011 Marco Martin <mart@kde.org>SPDX-FileCopyrightText: 2014-2015 Eike Hein <hein@kde.org>SPDX-License-Identifier: GPL-2.0-or-later*/import QtQuickimport org.kde.ksvg as KSvgimport org.kde.plasma.components as PlasmaComponents3import org.kde.kirigami as KirigamiDropArea {id: backButtonproperty int iconSizeproperty alias active: hoverActivateTimer.runningproperty alias containsMouse: mouseArea.containsMousesignal backRequested()onEntered: hoverActivateTimer.restart();onExited: hoverActivateTimer.stop();MouseArea {id: mouseAreaanchors.fill: parentacceptedButtons: Qt.LeftButton | Qt.BackButtonhoverEnabled: trueonPressed: mouse => {if (mouse.buttons & Qt.BackButton) {backButton.backRequested();}}onClicked: mouse => {if (mouse.button == Qt.BackButton) {return;}backButton.backRequested();}}KSvg.FrameSvgItem {id: backgroundanchors.fill: parentimagePath: "widgets/viewitem"}Kirigami.Icon {id: iconanchors {left: parent.leftleftMargin: Kirigami.Units.smallSpacingverticalCenter: parent.verticalCenter}width: backButton.iconSizeheight: backButton.iconSizesource: "arrow-left"}PlasmaComponents3.Label {id: labelanchors {left: icon.rightleftMargin: Kirigami.Units.smallSpacing * 2verticalCenter: parent.verticalCenter}width: parent.width - icon.width - (Kirigami.Units.smallSpacing * 4);height: undefined // Unset PlasmaComponents.Label's default.textFormat: Text.PlainTextmaximumLineCount: 1wrapMode: Text.Wrapelide: Text.ElideRighttext: i18nc("@action:button", "Back")}Timer {id: hoverActivateTimerinterval: root.hoverActivateDelayonTriggered: backButton.backRequested()}states: [State {name: "hover"when: mouseArea.containsMouse || backButton.containsDragPropertyChanges {background.prefix: "hover"}}]}