@@ -0,0 +1,54 @@
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+
17+import QtQuick 2.4
18+import Ubuntu.Components 1.3
19+import QMenuModel 0.1
20+import GlobalShortcut 1.0
21+
22+QtObject {
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: "com.canonical.indicator.power"
46+ objectPath: "/com/canonical/indicator/power"
47+
48+ property variant brightness: action("brightness")
49+
50+ Component.onCompleted: {
51+ actionGroup.start();
52+ }
53+ }
54+}