Warning, /plasma/latte-dock/declarativeimports/abilities/client/AppletAbilities.qml is written in an unsupported language. File is not indexed.

0001 /*
0002     SPDX-FileCopyrightText: 2021 Michail Vourlakos <mvourlakos@gmail.com>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 import QtQuick 2.7
0007 
0008 import org.kde.plasma.plasmoid 2.0
0009 import org.kde.plasma.core 2.0 as PlasmaCore
0010 
0011 import org.kde.latte.abilities.client 0.1 as AbilityClient
0012 
0013 Item {
0014     id: _abilityContainer
0015     property Item bridge: null
0016     property Item layout: null
0017 
0018     readonly property bool isLayoutListViewContainer: layout && layout.parent && layout.parent instanceof ListView
0019     readonly property bool isLayoutGridContainer: layout && layout instanceof Grid
0020 
0021     readonly property bool inDesktop: plasmoid.location === PlasmaCore.Types.Floating
0022                                       || plasmoid.location === PlasmaCore.Types.Desktop
0023 
0024     readonly property int alignment: _containment.alignment
0025     readonly property int location: inDesktop ? PlasmaCore.Types.BottomEdge : plasmoid.location
0026     readonly property int thickness: _animations.hasThicknessAnimation ? _metrics.mask.thickness.maxZoomedForItems : // dont clip bouncing tasks when zoom=1
0027                                                                          _metrics.mask.thickness.normalForItems
0028 
0029     readonly property real layoutWidth: {
0030         if (isLayoutListViewContainer) {
0031             return plasmoid.formFactor !== PlasmaCore.Types.Vertical ? layout.parent.width : thickness;
0032         } else if (isLayoutGridContainer) {
0033             return plasmoid.formFactor !== PlasmaCore.Types.Vertical ? layout.width : thickness
0034         }
0035 
0036         return 0;
0037     }
0038 
0039     readonly property real layoutHeight: {
0040         if (isLayoutListViewContainer) {
0041             return plasmoid.formFactor === PlasmaCore.Types.Vertical ? layout.parent.height : thickness;
0042         } else if (isLayoutGridContainer) {
0043             return plasmoid.formFactor !== PlasmaCore.Types.Vertical ? layout.height : thickness
0044         }
0045 
0046         return 0;
0047     }
0048 
0049     //! basic
0050     readonly property alias animations: _animations
0051     readonly property alias containment: _containment
0052     readonly property alias debug: _debug
0053     readonly property alias environment: _environment
0054     readonly property alias indexer: _indexer
0055     readonly property alias indicators: _indicators
0056     readonly property alias metrics: _metrics
0057     readonly property alias myView: _myView
0058     readonly property alias parabolic: _parabolic
0059     readonly property alias shortcuts: _shortcuts
0060     readonly property alias requires: _requires
0061     readonly property alias thinTooltip: _thinTooltip
0062     readonly property alias userRequests: _userRequests
0063 
0064     AbilityClient.Animations {
0065         id: _animations
0066         bridge: _abilityContainer.bridge
0067     }
0068 
0069     AbilityClient.Containment {
0070         id: _containment
0071         bridge: _abilityContainer.bridge
0072     }
0073 
0074     AbilityClient.Debug {
0075         id: _debug
0076         bridge: _abilityContainer.bridge
0077     }
0078 
0079     AbilityClient.Environment {
0080         id: _environment
0081         bridge: _abilityContainer.bridge
0082     }
0083 
0084     AbilityClient.Indexer {
0085         id: _indexer
0086         bridge: _abilityContainer.bridge
0087         layout: _abilityContainer.layout
0088     }
0089 
0090     AbilityClient.Indicators {
0091         id: _indicators
0092         bridge: _abilityContainer.bridge
0093     }
0094 
0095     AbilityClient.Metrics {
0096         id: _metrics
0097         bridge: _abilityContainer.bridge
0098         parabolic: _parabolic
0099     }
0100 
0101     AbilityClient.MyView {
0102         id: _myView
0103         bridge: _abilityContainer.bridge
0104     }
0105 
0106     AbilityClient.ParabolicEffect {
0107         id: _parabolic
0108         bridge: _abilityContainer.bridge
0109         indexer: _indexer
0110         layout: _abilityContainer.layout
0111     }
0112 
0113     AbilityClient.PositionShortcuts {
0114         id: _shortcuts
0115         bridge: _abilityContainer.bridge
0116         indexer: _indexer
0117     }
0118 
0119     AbilityClient.ThinTooltip {
0120         id: _thinTooltip
0121         bridge: _abilityContainer.bridge
0122     }
0123 
0124     AbilityClient.Requirements{
0125         id: _requires
0126         bridge: _abilityContainer.bridge
0127     }
0128 
0129     AbilityClient.UserRequests {
0130         id: _userRequests
0131         bridge: _abilityContainer.bridge
0132     }
0133 
0134 
0135     Loader {
0136         id: anchorsLoader
0137         active: isLayoutListViewContainer || isLayoutGridContainer
0138         source: "./appletabilities/ContainerAnchorBindings.qml"
0139 
0140         readonly property Item anchoredItem: isLayoutListViewContainer ? layout.parent : layout
0141     }
0142 
0143     Loader {
0144         active: isLayoutListViewContainer
0145         source: "./appletabilities/ContainerListViewBindings.qml"
0146     }
0147 
0148     Loader {
0149         active: isLayoutGridContainer
0150         source: "./appletabilities/ContainerGridBindings.qml"
0151     }
0152 }