From 88ea6e370ecc8c1aa9ccda0a3d1d2efdbf7f4994 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Sun, 29 Nov 2020 00:15:25 +0200 Subject: [PATCH] add isEnabled to parabolic Ability --- containment/package/contents/ui/abilities/ParabolicEffect.qml | 1 + containment/package/contents/ui/applet/HiddenSpacer.qml | 2 +- containment/package/contents/ui/applet/ItemWrapper.qml | 2 +- .../package/contents/ui/applet/communicator/LatteBridge.qml | 2 +- containment/package/contents/ui/main.qml | 1 - declarativeimports/abilities/applets/ParabolicEffect.qml | 1 + declarativeimports/abilities/containers/ParabolicEffect.qml | 1 + declarativeimports/abilities/definitions/ParabolicEffect.qml | 4 +++- plasmoid/package/contents/ui/main.qml | 2 +- plasmoid/package/contents/ui/task/HiddenSpacer.qml | 2 +- plasmoid/package/contents/ui/task/TaskItem.qml | 4 ++-- 11 files changed, 13 insertions(+), 9 deletions(-) diff --git a/containment/package/contents/ui/abilities/ParabolicEffect.qml b/containment/package/contents/ui/abilities/ParabolicEffect.qml index a6a3a81b6..c22b026a9 100644 --- a/containment/package/contents/ui/abilities/ParabolicEffect.qml +++ b/containment/package/contents/ui/abilities/ParabolicEffect.qml @@ -27,6 +27,7 @@ import org.kde.latte.core 0.2 as LatteCore import "./privates" as Ability Ability.ParabolicEffectPrivate { + isEnabled: factor.zoom>1 && !root.inConfigureAppletsMode factor.zoom: LatteCore.WindowSystem.compositingActive && animations.active ? ( 1 + (plasmoid.configuration.zoomLevel / 20) ) : 1 factor.maxZoom: Math.max(factor.zoom, animations.requirements.zoomFactor) restoreZoomIsBlocked: (view && view.contextMenuIsShown) diff --git a/containment/package/contents/ui/applet/HiddenSpacer.qml b/containment/package/contents/ui/applet/HiddenSpacer.qml index efcc1c91a..90dec01e9 100644 --- a/containment/package/contents/ui/applet/HiddenSpacer.qml +++ b/containment/package/contents/ui/applet/HiddenSpacer.qml @@ -34,7 +34,7 @@ Item{ property bool neighbourSeparator: rightSpacer ? appletItem.headAppletIsSeparator : appletItem.tailAppletIsSeparator - property int separatorSpace: neighbourSeparator && !appletItem.isSeparator && root.parabolicEffectEnabled + property int separatorSpace: neighbourSeparator && !appletItem.isSeparator && appletItem.parabolic.isEnabled && !appletItem.latteApplet ? ((LatteCore.Environment.separatorLength/2)+appletItem.metrics.margin.length) : subtrackedMargins property real nHiddenSize: { diff --git a/containment/package/contents/ui/applet/ItemWrapper.qml b/containment/package/contents/ui/applet/ItemWrapper.qml index 2ecbde23d..2e5ef2950 100644 --- a/containment/package/contents/ui/applet/ItemWrapper.qml +++ b/containment/package/contents/ui/applet/ItemWrapper.qml @@ -40,7 +40,7 @@ Item{ return 0; } - if (isSeparator && root.parabolicEffectEnabled) { + if (isSeparator && appletItem.parabolic.isEnabled) { return -1; } diff --git a/containment/package/contents/ui/applet/communicator/LatteBridge.qml b/containment/package/contents/ui/applet/communicator/LatteBridge.qml index a831f1578..c62fc11d1 100644 --- a/containment/package/contents/ui/applet/communicator/LatteBridge.qml +++ b/containment/package/contents/ui/applet/communicator/LatteBridge.qml @@ -80,7 +80,7 @@ Item{ // USE CASE: it can be used from applets that want to be adjusted based // on the parabolic Effect or not // @since: 0.9 - readonly property bool parabolicEffectEnabled: root.parabolicEffectEnabled && !appletItem.originalAppletBehavior + readonly property bool parabolicEffectEnabled: appletItem.parabolic.isEnabled && !appletItem.originalAppletBehavior // NAME: iconSize // USAGE: read-only diff --git a/containment/package/contents/ui/main.qml b/containment/package/contents/ui/main.qml index b8a1d5270..0d5117705 100644 --- a/containment/package/contents/ui/main.qml +++ b/containment/package/contents/ui/main.qml @@ -220,7 +220,6 @@ Item { true : false readonly property bool inConfigureAppletsMode: root.editMode && plasmoid.configuration.inConfigureAppletsMode - readonly property bool parabolicEffectEnabled: parabolic.factor.zoom>1 && !inConfigureAppletsMode property bool dockIsShownCompletely: !(dockIsHidden || inSlidingIn || inSlidingOut) property bool closeActiveWindowEnabled: plasmoid.configuration.closeActiveWindowEnabled diff --git a/declarativeimports/abilities/applets/ParabolicEffect.qml b/declarativeimports/abilities/applets/ParabolicEffect.qml index c5fc56a32..2aeee790c 100644 --- a/declarativeimports/abilities/applets/ParabolicEffect.qml +++ b/declarativeimports/abilities/applets/ParabolicEffect.qml @@ -26,6 +26,7 @@ AbilityDefinition.ParabolicEffect { property Item bridge: null readonly property bool isActive: bridge !== null + isEnabled: ref.parabolic.isEnabled factor: ref.parabolic.factor restoreZoomIsBlocked: bridge ? (bridge.parabolic.host.restoreZoomIsBlocked || local.restoreZoomIsBlocked) : local.restoreZoomIsBlocked diff --git a/declarativeimports/abilities/containers/ParabolicEffect.qml b/declarativeimports/abilities/containers/ParabolicEffect.qml index 8b76a588a..eb49dab0c 100644 --- a/declarativeimports/abilities/containers/ParabolicEffect.qml +++ b/declarativeimports/abilities/containers/ParabolicEffect.qml @@ -30,6 +30,7 @@ AbilityDefinition.ParabolicEffect { //! This needs to be rethought and rechecked in order for public api to provide //! functionality that functionality must already exist in the definition readonly property Item publicApi: Item { + readonly property alias isEnabled: apis.isEnabled readonly property alias directRenderingEnabled: apis.directRenderingEnabled readonly property alias factor: apis.factor readonly property alias lastIndex: apis.lastIndex diff --git a/declarativeimports/abilities/definitions/ParabolicEffect.qml b/declarativeimports/abilities/definitions/ParabolicEffect.qml index 423fa796c..0b671f53c 100644 --- a/declarativeimports/abilities/definitions/ParabolicEffect.qml +++ b/declarativeimports/abilities/definitions/ParabolicEffect.qml @@ -22,9 +22,11 @@ import QtQuick 2.0 import "./paraboliceffect" as ParabolicEffectTypes Item { - property ParabolicEffectTypes.Factor factor: ParabolicEffectTypes.Factor{} + property bool isEnabled: true property bool restoreZoomIsBlocked: false + property ParabolicEffectTypes.Factor factor: ParabolicEffectTypes.Factor{} + readonly property ParabolicEffectTypes.PrivateProperties _privates: ParabolicEffectTypes.PrivateProperties {} signal sglClearZoom(); diff --git a/plasmoid/package/contents/ui/main.qml b/plasmoid/package/contents/ui/main.qml index 5d96825ec..e0b219098 100644 --- a/plasmoid/package/contents/ui/main.qml +++ b/plasmoid/package/contents/ui/main.qml @@ -152,7 +152,6 @@ Item { property bool dockIsHidden: latteView ? latteView.dockIsHidden : false property bool groupTasksByDefault: plasmoid.configuration.groupTasksByDefault property bool highlightWindows: hoverAction === LatteTasks.Types.HighlightWindows || hoverAction === LatteTasks.Types.PreviewAndHighlightWindows - property bool parabolicEffectEnabled: latteView ? latteView.parabolicEffectEnabled : parabolic.factor.zoom > 1 && !root.inEditMode property bool scrollingEnabled: plasmoid.configuration.scrollTasksEnabled property bool autoScrollTasksEnabled: scrollingEnabled && plasmoid.configuration.autoScrollTasksEnabled @@ -949,6 +948,7 @@ Item { Ability.ParabolicEffect { id: _parabolic bridge: latteBridge + local.isEnabled: factor.zoom > 1 local.restoreZoomIsBlocked: root.contextMenu || windowsPreviewDlg.containsMouse } diff --git a/plasmoid/package/contents/ui/task/HiddenSpacer.qml b/plasmoid/package/contents/ui/task/HiddenSpacer.qml index 09a9aec1c..5540e4c75 100644 --- a/plasmoid/package/contents/ui/task/HiddenSpacer.qml +++ b/plasmoid/package/contents/ui/task/HiddenSpacer.qml @@ -45,7 +45,7 @@ Item{ //and it is used later on Behaviors in order to not break //the activity change animations from removal/additions of tasks //! && !root.inActivityChange (deprecated) in order to check if it is fixed - property int separatorSpace: neighbourSeparator && !isSeparator && root.parabolicEffectEnabled + property int separatorSpace: neighbourSeparator && !isSeparator && taskItem.parabolic.isEnabled && !(taskItem.indexer.separators.length>0 && root.dragSource) ? ((LatteCore.Environment.separatorLength/2)+taskItem.metrics.margin.length) : 0 diff --git a/plasmoid/package/contents/ui/task/TaskItem.qml b/plasmoid/package/contents/ui/task/TaskItem.qml index e653d4cb6..f78af27fa 100644 --- a/plasmoid/package/contents/ui/task/TaskItem.qml +++ b/plasmoid/package/contents/ui/task/TaskItem.qml @@ -55,7 +55,7 @@ MouseArea{ if (root.vertical) { return taskItem.metrics.totals.thickness + taskItem.metrics.margin.screenEdge; } else { - if (root.dragSource || !root.parabolicEffectEnabled) { + if (root.dragSource || !taskItem.parabolic.isEnabled) { return LatteCore.Environment.separatorLength+2*taskItem.metrics.margin.length; } } @@ -82,7 +82,7 @@ MouseArea{ if (!root.vertical) { return taskItem.metrics.totals.thickness + taskItem.metrics.margin.screenEdge; } else { - if (root.dragSource || !root.parabolicEffectEnabled) { + if (root.dragSource || !taskItem.parabolic.isEnabled) { return LatteCore.Environment.separatorLength+2*taskItem.metrics.margin.length; } }