Warning, /plasma/plasma-bigscreen/containments/homescreen/package/contents/ui/PowerManagementItem.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2020 Aditya Mehra <aix.m@outlook.com>
0003
0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005
0006 */
0007
0008 import QtQuick.Layouts 1.14
0009 import QtQuick 2.14
0010 import QtQuick.Window 2.14
0011 import QtQuick.Controls 2.14
0012 import org.kde.plasma.plasma5support 2.0 as P5Support
0013 import org.kde.plasma.components 3.0 as PlasmaComponents3
0014 import org.kde.kirigami 2.12 as Kirigami
0015 import org.kde.kcmutils as KCM
0016 import org.kde.mycroft.bigscreen 1.0 as BigScreen
0017
0018 Item {
0019 id: powerManagementItem
0020 property int cookie1: -1
0021 property int cookie2: -1
0022 property bool inhibit
0023
0024 property QtObject pmSource: P5Support.DataSource {
0025 id: pmSource
0026 engine: "powermanagement"
0027 connectedSources: sources
0028
0029 onSourceAdded: function(source) {
0030 disconnectSource(source);
0031 connectSource(source);
0032 }
0033 onSourceRemoved: function(source) {
0034 disconnectSource(source);
0035 }
0036 }
0037
0038 onInhibitChanged: {
0039 const service = pmSource.serviceForSource("PowerDevil");
0040 if (inhibit) {
0041 const reason = i18n("Bigscreen has enabled system-wide inhibition");
0042 const op1 = service.operationDescription("beginSuppressingSleep");
0043 op1.reason = reason;
0044 const op2 = service.operationDescription("beginSuppressingScreenPowerManagement");
0045 op2.reason = reason;
0046
0047 const job1 = service.startOperationCall(op1);
0048 job1.finished.connect(job => {
0049 cookie1 = job.result;
0050 });
0051
0052 const job2 = service.startOperationCall(op2);
0053 job2.finished.connect(job => {
0054 cookie2 = job.result;
0055 });
0056 console.log("Power Inhibition Activated By Bigscreen");
0057 } else {
0058 const op1 = service.operationDescription("stopSuppressingSleep");
0059 op1.cookie = cookie1;
0060 const op2 = service.operationDescription("stopSuppressingScreenPowerManagement");
0061 op2.cookie = cookie2;
0062
0063 const job1 = service.startOperationCall(op1);
0064 job1.finished.connect(job => {
0065 cookie1 = -1;
0066 });
0067
0068 const job2 = service.startOperationCall(op2);
0069 job2.finished.connect(job => {
0070 cookie2 = -1;
0071 });
0072 console.log("Power Inhibition Deactivated By Bigscreen");
0073 }
0074 }
0075 }