cool-retro-term
72 строки · 2.1 Кб
1/*******************************************************************************
2* Copyright (c) 2013-2021 "Filippo Scognamiglio"
3* https://github.com/Swordfish90/cool-retro-term
4*
5* This file is part of cool-retro-term.
6*
7* cool-retro-term is free software: you can redistribute it and/or modify
8* it under the terms of the GNU General Public License as published by
9* the Free Software Foundation, either version 3 of the License, or
10* (at your option) any later version.
11*
12* This program is distributed in the hope that it will be useful,
13* but WITHOUT ANY WARRANTY; without even the implied warranty of
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15* GNU General Public License for more details.
16*
17* You should have received a copy of the GNU General Public License
18* along with this program. If not, see <http://www.gnu.org/licenses/>.
19*******************************************************************************/
20import QtQuick 2.2
21import QtQuick.Controls 2.0
22import QtQuick.Layouts 1.1
23
24import "Components"
25
26RowLayout {
27property alias name: check.text
28
29property double value
30property alias min_value: slider.from
31property alias max_value: slider.to
32property alias stepSize: slider.stepSize
33
34signal newValue(real newValue)
35
36id: setting_component
37Layout.fillWidth: true
38
39onValueChanged: {
40check.checked = !(value == 0)
41if (check.checked)
42slider.value = value
43}
44
45CheckBox {
46id: check
47implicitWidth: 160
48onClicked: {
49if (!checked) {
50checked = false
51slider.enabled = false
52newValue(0)
53} else {
54checked = true
55newValue(slider.value)
56slider.enabled = true
57}
58}
59}
60Slider {
61id: slider
62stepSize: parent.stepSize
63Layout.fillWidth: true
64onValueChanged: {
65newValue(value)
66}
67}
68SizedLabel {
69text: Math.round(
70((value - min_value) / (max_value - min_value)) * 100) + "%"
71}
72}
73