Lomiri
Loading...
Searching...
No Matches
BrightnessControl.qml
1/*
2 * Copyright (C) 2016 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17import QtQuick 2.12
18import Lomiri.Components 1.3
19import QMenuModel 1.0
20import GlobalShortcut 1.0
21
22QtObject {
23 objectName: "brightnessControl"
24
25 property GlobalShortcut brightnessUp: GlobalShortcut {
26 shortcut: Qt.Key_MonBrightnessUp
27 onTriggered: stepUp();
28 }
29
30 property GlobalShortcut brightnessDown: GlobalShortcut {
31 shortcut: Qt.Key_MonBrightnessDown
32 onTriggered: stepDown();
33 }
34
35 function stepUp() {
36 actionGroup.brightness.updateState(MathUtils.clamp(actionGroup.brightness.state + 0.1, 0.01, 1.0));
37 }
38
39 function stepDown() {
40 actionGroup.brightness.updateState(MathUtils.clamp(actionGroup.brightness.state - 0.1, 0.01, 1.0));
41 }
42
43 property QDBusActionGroup actionGroup: QDBusActionGroup {
44 busType: DBus.SessionBus
45 busName: "org.ayatana.indicator.power"
46 objectPath: "/org/ayatana/indicator/power"
47
48 property variant brightness: action("brightness")
49
50 Component.onCompleted: {
51 actionGroup.start();
52 }
53 }
54}