Warning, /plasma/latte-dock/containment/package/contents/ui/applet/IndicatorLevel.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2019 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.core 2.0 as PlasmaCore 0009 0010 import org.kde.latte.abilities.items 0.1 as AbilityItem 0011 0012 AbilityItem.IndicatorLevel { 0013 id: indicatorLevel 0014 anchors.bottom: (plasmoid.location === PlasmaCore.Types.BottomEdge) ? parent.bottom : undefined 0015 anchors.top: (plasmoid.location === PlasmaCore.Types.TopEdge) ? parent.top : undefined 0016 anchors.left: (plasmoid.location === PlasmaCore.Types.LeftEdge) ? parent.left : undefined 0017 anchors.right: (plasmoid.location === PlasmaCore.Types.RightEdge) ? parent.right : undefined 0018 0019 anchors.horizontalCenter: root.isHorizontal ? parent.horizontalCenter : undefined 0020 anchors.verticalCenter: root.isVertical ? parent.verticalCenter : undefined 0021 0022 width: { 0023 if (root.isHorizontal) { 0024 if (appletItem.parabolicEffectIsSupported) { 0025 return appletItem.wrapper.zoomScale * visualLockedWidth; 0026 } 0027 0028 return appletWrapper.width + appletItem.internalWidthMargins; 0029 } else { 0030 return appletItem.wrapper.width; 0031 } 0032 } 0033 0034 height: { 0035 if (root.isVertical) { 0036 if (appletItem.parabolicEffectIsSupported) { 0037 return appletItem.wrapper.zoomScale * visualLockedHeight; 0038 } 0039 0040 return appletWrapper.height + appletItem.internalHeightMargins; 0041 } else { 0042 return appletItem.wrapper.height; 0043 } 0044 } 0045 0046 level.isDrawn: !appletItem.isSeparator 0047 && !appletItem.isMarginsAreaSeparator 0048 && !appletItem.isHidden 0049 && !(appletItem.isAutoFillApplet && !communicator.indexerIsSupported) //! simple Plasma AutoFill applets 0050 && !communicator.indexerIsSupported 0051 && level.indicator.host.isEnabled 0052 && (appletItem.communicator.requires.activeIndicatorEnabled 0053 || (!appletItem.communicator.requires.activeIndicatorEnabled && appletItem.debug.graphicsEnabled /*debug paddings*/) 0054 && level.indicator.host.info.enabledForApplets) 0055 0056 readonly property bool locked: appletItem.lockZoom || appletItem.parabolic.factor.zoom === 1 0057 0058 //! Qt.min() is used to make sure that indicators always take into account the current applet length provided 0059 //! and as such always look centered even when applet are aligned to length screen edge 0060 property real visualLockedWidth: Math.min(appletItem.metrics.iconSize, appletWrapper.width) + appletItem.internalWidthMargins 0061 property real visualLockedHeight: Math.min(appletItem.metrics.iconSize, appletWrapper.height) + appletItem.internalHeightMargins 0062 0063 Connections { 0064 target: appletItem 0065 enabled: indicatorLevel.level.indicator.host.isEnabled && indicatorLevel.level.indicator.host.info.needsMouseEventCoordinates 0066 onMousePressed: { 0067 var fixedPos = indicatorLevel.mapFromItem(appletItem, x, y); 0068 indicatorLevel.level.mousePressed(Math.round(fixedPos.x), Math.round(fixedPos.y), button); 0069 } 0070 0071 onMouseReleased: { 0072 var fixedPos = indicatorLevel.mapFromItem(appletItem, x, y); 0073 indicatorLevel.level.mouseReleased(Math.round(fixedPos.x), Math.round(fixedPos.y), button); 0074 } 0075 } 0076 }