Warning, /plasma-mobile/mycroft-plasmoid-mobile/plasmoid/contents/ui/CustomIndicator.qml is written in an unsupported language. File is not indexed.
0001 0002 /* Copyright 2016 Aditya Mehra <aix.m@outlook.com> 0003 0004 This library is free software; you can redistribute it and/or 0005 modify it under the terms of the GNU Lesser General Public 0006 License as published by the Free Software Foundation; either 0007 version 2.1 of the License, or (at your option) version 3, or any 0008 later version accepted by the membership of KDE e.V. (or its 0009 successor approved by the membership of KDE e.V.), which shall 0010 act as a proxy defined in Section 6 of version 3 of the license. 0011 0012 This library is distributed in the hope that it will be useful, 0013 but WITHOUT ANY WARRANTY; without even the implied warranty of 0014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0015 Lesser General Public License for more details. 0016 0017 You should have received a copy of the GNU Lesser General Public 0018 License along with this library. If not, see <http://www.gnu.org/licenses/>. 0019 */ 0020 0021 import QtQuick 2.9 0022 import QtQuick.Controls 2.2 0023 import QtQuick.Layouts 1.3 0024 import QtGraphicalEffects 1.0 0025 0026 Item{ 0027 id: customIndicatorBusy 0028 anchors.centerIn: parent 0029 property alias cstanim: customIndicatorBusy 0030 property bool running: false 0031 visible: false 0032 0033 Item { 0034 implicitWidth: units.gridUnit * 3 0035 implicitHeight: units.gridUnit * 3 0036 0037 Rectangle { 0038 id: antiinnerCircleOutVert 0039 anchors.centerIn: parent 0040 color: "skyblue" 0041 radius: 8 0042 implicitWidth: units.gridUnit * 1.2 0043 implicitHeight: units.gridUnit * 1.2 0044 } 0045 0046 Rectangle { 0047 id: innerCircleOutHoriz 0048 anchors.centerIn: parent 0049 color: "steelblue" 0050 radius: 5 0051 implicitWidth: units.gridUnit * 2.2 0052 implicitHeight: units.gridUnit * 1.2 0053 } 0054 0055 Rectangle { 0056 id: innerCircleOutVert 0057 anchors.centerIn: parent 0058 color: "steelblue" 0059 radius: 5 0060 implicitWidth: units.gridUnit * 1.2 0061 implicitHeight: units.gridUnit * 2.2 0062 } 0063 0064 Rectangle { 0065 id: innerCircleIn 0066 anchors.centerIn: parent 0067 color: "lightblue" 0068 border.color: "steelblue" 0069 border.width: units.gridUnit * 0.2 0070 radius: 100 0071 implicitWidth: units.gridUnit * 1.7 0072 implicitHeight: units.gridUnit * 1.7 0073 0074 Image { 0075 id: innerPulser 0076 source: "../images/midanim.png" 0077 anchors.centerIn: parent 0078 height: units.gridUnit * 3.0 0079 width: units.gridUnit * 3.0 0080 } 0081 0082 ColorOverlay { 0083 anchors.fill: innerPulser 0084 source: innerPulser 0085 color: "steelblue" 0086 } 0087 } 0088 0089 RotationAnimator { 0090 target: innerCircleOutHoriz 0091 running: customIndicatorBusy.running 0092 from: 0 0093 to: 360 0094 loops: Animation.Infinite 0095 duration: 6000 0096 } 0097 0098 ScaleAnimator { 0099 target: innerCircleOutHoriz 0100 running: customIndicatorBusy.running 0101 from: 1.1 0102 to: 0.5 0103 duration: 1200 0104 loops: Animation.Infinite 0105 } 0106 0107 RotationAnimator { 0108 target: innerCircleOutVert 0109 running: customIndicatorBusy.running 0110 from: 0 0111 to: 360 0112 loops: Animation.Infinite 0113 duration: 6000 0114 } 0115 0116 RotationAnimator { 0117 target: antiinnerCircleOutVert 0118 running: customIndicatorBusy.running 0119 from: 360 0120 to: 0 0121 loops: Animation.Infinite 0122 duration: 6000 0123 } 0124 0125 ScaleAnimator { 0126 target: innerCircleOutVert 0127 running: customIndicatorBusy.running 0128 from: 1.1 0129 to: 0.5 0130 duration: 1200 0131 loops: Animation.Infinite 0132 } 0133 0134 ScaleAnimator { 0135 target: antiinnerCircleOutVert 0136 running: customIndicatorBusy.running 0137 from: 0.5 0138 to: 1.3 0139 duration: 1200 0140 loops: Animation.Infinite 0141 } 0142 0143 ScaleAnimator { 0144 target: innerCircleIn 0145 running: customIndicatorBusy.running 0146 from: 1 0147 to: 0.7 0148 duration: 1200 0149 loops: Animation.Infinite 0150 } 0151 } 0152 }