1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
/*
* SPDX-FileCopyrightText: 2014 David Edmundson <kde@davidedmundson.co.uk>
* SPDX-FileCopyrightText: 2014 Kai Uwe Broulik <kde@privat.broulik.de>
* SPDX-FileCopyrightText: 2020 Noah Davis <noahadvs@gmail.com>
* SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
import QtQuick 2.0
import QtQuick.Layouts 1.12
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents
ComponentBase {
id: root
title: "Plasma Components 2 ProgressBar"
property int orientation: orientationCombo.model[orientationCombo.currentIndex].value
property int progressBarWidth: testProgressBar.width
PlasmaComponents.ProgressBar {
id: testProgressBar
visible: false
}
contentItem: GridLayout {
columns: 6
columnSpacing: PlasmaCore.Units.largeSpacing
rowSpacing: PlasmaCore.Units.largeSpacing
ColumnLayout {
PlasmaComponents.Label {
text: "0%"
}
PlasmaComponents.ProgressBar {
minimumValue: 0
maximumValue: 100
value: 0
orientation: root.orientation
}
}
ColumnLayout {
PlasmaComponents.Label {
text: "50%"
}
PlasmaComponents.ProgressBar {
minimumValue: 0
maximumValue: 100
value: 50
orientation: root.orientation
}
}
ColumnLayout {
PlasmaComponents.Label {
text: "100%"
}
PlasmaComponents.ProgressBar {
minimumValue: 0
maximumValue: 100
value: 100
orientation: root.orientation
}
}
ColumnLayout {
PlasmaComponents.Label {
id: progressBarAndSliderLabel
text: "The progress bar and slider grooves should have the same visual width."
wrapMode: Text.WordWrap
Layout.preferredWidth: progressBarWidth
}
GridLayout {
id: progressBarAndSliderGrid
columns: orientation === Qt.Vertical ? 2 : 1
rows: orientation === Qt.Vertical ? 1 : 2
PlasmaComponents.ProgressBar {
id: progressBar
minimumValue: 0
maximumValue: 100
value: 50
orientation: root.orientation
}
PlasmaComponents.Slider {
width: progressBar.width
height: progressBar.height
minimumValue: 0
maximumValue: 100
value: 50
orientation: root.orientation
}
}
}
ColumnLayout {
PlasmaComponents.Label {
text: "Min: 0; Max: 200; Value: 1\nMake sure the bar does not leak outside."
wrapMode: Text.WordWrap
Layout.preferredWidth: progressBarWidth
}
PlasmaComponents.ProgressBar {
minimumValue: 0
maximumValue: 200
value: 1
orientation: root.orientation
}
}
ColumnLayout {
PlasmaComponents.Label {
text: "Min: 0; Max: 100; Value: 110\nThe progress bar should look like it is at 100%."
wrapMode: Text.WordWrap
Layout.preferredWidth: progressBarWidth
}
PlasmaComponents.ProgressBar {
minimumValue: 0
maximumValue: 100
value: 110
orientation: root.orientation
}
}
ColumnLayout {
PlasmaComponents.Label {
text: "Min: -100; Max: 100; Value: 0\nThe progress bar should look like it is at 50%."
wrapMode: Text.WordWrap
Layout.preferredWidth: progressBarWidth
}
PlasmaComponents.ProgressBar {
minimumValue: -100
maximumValue: 100
value: 0
orientation: root.orientation
}
}
ColumnLayout {
PlasmaComponents.Label {
text: "Min: 0; Max: 100; Value: -10\nThe progress bar should look like it is at 0%."
wrapMode: Text.WordWrap
Layout.preferredWidth: progressBarWidth
}
PlasmaComponents.ProgressBar {
minimumValue: 0
maximumValue: 100
value: -10
orientation: root.orientation
}
}
ColumnLayout {
PlasmaComponents.Label {
text: "This should have a continuous movement from one end to the other and back."
wrapMode: Text.WordWrap
Layout.preferredWidth: progressBarWidth
}
PlasmaComponents.ProgressBar {
indeterminate: indeterminateCheckBox.checked
value: 0.5
orientation: root.orientation
}
}
ColumnLayout {
PlasmaComponents.Label {
text: "Checking and unchecking should not break the layout. The progress bar should look like it is at 50% if unchecked."
wrapMode: Text.WordWrap
Layout.preferredWidth: progressBarWidth
}
PlasmaComponents.CheckBox {
id: indeterminateCheckBox
text: "Indeterminate"
checked: true
}
}
ColumnLayout {
PlasmaComponents.Label {
text: "Slider orientation"
}
PlasmaComponents.ComboBox {
id: orientationCombo
model: [
{text: "Horizontal", value: Qt.Horizontal},
{text: "Vertical", value: Qt.Vertical}
]
}
}
}
}
|