Warning, /network/neochat/src/qml/PieProgressBar.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2023 James Graham <james.h.graham@protonmail.com> 0002 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0003 0004 import QtQuick 0005 0006 import org.kde.kirigami as Kirigami 0007 import org.kde.quickcharts as Charts 0008 0009 /** 0010 * @brief A circular progress bar that fills an arc as progress goes up. 0011 */ 0012 Rectangle { 0013 id: root 0014 0015 /** 0016 * @brief Progress of the circle as a percentage. 0017 * 0018 * Range - 0% to 100%. 0019 */ 0020 property int progress: 0 0021 0022 /** 0023 * @brief Offset angle for the start of the pie fill arc. 0024 * 0025 * This defaults to 0, i.e. an upward vertical line from the center. This rotates 0026 * that start point by the desired number of degrees. 0027 * 0028 * Range - 0 degrees to 360 degrees 0029 */ 0030 property int startOffset: 0 0031 0032 /** 0033 * @brief Fill color of the pie. 0034 */ 0035 property color pieColor: Kirigami.Theme.highlightColor 0036 0037 width: Kirigami.Units.iconSizes.smallMedium 0038 height: Kirigami.Units.iconSizes.smallMedium 0039 radius: width / 2 0040 color: Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.backgroundColor, Kirigami.Theme.textColor, 0.15) 0041 0042 Charts.PieChart { 0043 id: chart 0044 anchors.fill: parent 0045 anchors.margins: 1 0046 0047 filled: true 0048 // Set chart background color so the parent filled rectangle looks like 0049 // an outline. 0050 backgroundColor: Kirigami.Theme.backgroundColor 0051 fromAngle: root.startOffset 0052 toAngle: 360 + root.startOffset 0053 range { 0054 from: 0 0055 to: 100 0056 automatic: false 0057 } 0058 valueSources: Charts.SingleValueSource { 0059 value: root.progress 0060 } 0061 colorSource: Charts.SingleValueSource { 0062 value: Kirigami.Theme.highlightColor 0063 } 0064 } 0065 }