Warning, /plasma/plasma-desktop/kcms/touchpad/applet/qml/contents/ui/main.qml is written in an unsupported language. File is not indexed.

0001 // -*- coding: iso-8859-1 -*-
0002 /*
0003  *   SPDX-FileCopyrightText: 2013 Alexander Mezin <mezin.alexander@gmail.com>
0004  *   SPDX-FileCopyrightText: 2016 Kai Uwe Broulik <kde@privat.broulik.de>
0005  *
0006  *   SPDX-License-Identifier: LGPL-2.0-or-later
0007  */
0008 
0009 import QtQuick 2.0
0010 import QtQuick.Layouts 1.1
0011 
0012 import org.kde.plasma.core as PlasmaCore
0013 import org.kde.plasma.extras 2.0 as PlasmaExtras
0014 import org.kde.plasma.plasma5support 2.0 as P5Support
0015 import org.kde.kirigami 2.20 as Kirigami
0016 
0017 import org.kde.plasma.plasmoid 2.0
0018 
0019 PlasmoidItem {
0020     id: root
0021 
0022     // Don't de-duplicate `touchpadEnabled` expression using `hasTouchpad`
0023     // property, QML doesn't work that way. Order of signals propagation is
0024     // not specified, so if/when data source disconnects, touchpadEnabled
0025     // might get re-evaluated while hasTouchpad is still true.
0026     readonly property bool hasTouchpad: typeof dataSource.data.touchpad !== "undefined" && dataSource.data.touchpad.workingTouchpadFound
0027     readonly property bool touchpadEnabled: typeof dataSource.data.touchpad !== "undefined" && dataSource.data.touchpad.workingTouchpadFound
0028         && dataSource.data.touchpad.enabled
0029 
0030     Plasmoid.icon: touchpadEnabled ? "input-touchpad-on" : "input-touchpad-off"
0031     // Touchpad being enabled is normal; only show the applet when it's disabled
0032     Plasmoid.status: {
0033         if (!hasTouchpad) {
0034             return PlasmaCore.Types.HiddenStatus;
0035         } else if (touchpadEnabled) {
0036             return PlasmaCore.Types.PassiveStatus;
0037         } else {
0038             return PlasmaCore.Types.ActiveStatus;
0039         }
0040     }
0041 
0042     toolTipSubText: {
0043         if (!hasTouchpad) {
0044             return i18n("No touchpad was found");
0045         } else if (touchpadEnabled) {
0046             return i18n("Touchpad is enabled");
0047         } else {
0048             return i18n("Touchpad is disabled");
0049         }
0050     }
0051 
0052     P5Support.DataSource {
0053         id: dataSource
0054         engine: "touchpad"
0055         connectedSources: dataSource.sources
0056     }
0057 
0058     // This is only accessible from System Tray, when hidden in the popup
0059     // and you click the list item text instead of the icon
0060    fullRepresentation: Item {
0061 
0062         PlasmaExtras.PlaceholderMessage {
0063             anchors.centerIn: parent
0064             width: parent.width - (Kirigami.Units.gridUnit * 8)
0065             text: root.toolTipSubText
0066             iconName: Plasmoid.icon
0067         }
0068     }
0069 }