/* * SPDX-FileCopyrightText: 2019 Marco Martin * * SPDX-License-Identifier: GPL-2.0-or-later */ import QtQuick 2.4 import QtQuick.Layouts 1.1 import QtQuick.Controls 2.3 as Controls import Qt5Compat.GraphicalEffects import org.kde.plasma.plasmoid 2.0 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 3.0 as PC3 import org.kde.kquickcontrolsaddons 2.0 import org.kde.plasma.private.containmentlayoutmanager 1.0 as ContainmentLayoutManager import org.kde.private.mobile.homescreen.folio 1.0 as Folio PC3.RoundButton { id: removeButton required property Folio.DesktopModel desktopModel anchors { right: parent.right top: parent.top } visible: false icon.name: "delete" onClicked: delegateDestructionAnim.restart() function show() { scale = 0; visible = true; removeButtonScaleAnim.from = 0; removeButtonScaleAnim.to = 1; removeButtonAnim.running = true; } function hide() { if (!visible) { return; } removeButtonScaleAnim.from = 1; removeButtonScaleAnim.to = 0; removeButtonAnim.running = true; } SequentialAnimation { id: delegateDestructionAnim NumberAnimation { target: delegate property: "scale" from: 1 to: 0 duration: PlasmaCore.Units.longDuration easing.type: Easing.InOutQuad } ScriptAction { script: { appletsLayout.releaseSpace(delegate); desktopModel.removeFavorite(index); } } } SequentialAnimation { id: removeButtonAnim NumberAnimation { id: removeButtonScaleAnim target: removeButton property: "scale" duration: PlasmaCore.Units.longDuration easing.type: Easing.InOutQuad } ScriptAction { script: { if (removeButton.scale === 0) { removeButton.visible = false; } } } } }