mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-26 14:23:09 +00:00
62 lines
2.2 KiB
QML
62 lines
2.2 KiB
QML
/*
|
|
Copyright 2019 MArco MArtni <mart@kde.org>
|
|
Copyright 2013-2017 Jan Grulich <jgrulich@redhat.com>
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 of the License, or (at your option) version 3, or any
|
|
later version accepted by the membership of KDE e.V. (or its
|
|
successor approved by the membership of KDE e.V.), which shall
|
|
act as a proxy defined in Section 6 of version 3 of the license.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
import QtQuick 2.2
|
|
import QtQuick.Layouts 1.4
|
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
|
import org.kde.plasma.components 2.0 as PlasmaComponents
|
|
import org.kde.bluezqt 1.0 as BluezQt
|
|
|
|
PlasmaCore.IconItem {
|
|
id: connectionIcon
|
|
|
|
property bool deviceConnected : false
|
|
|
|
source: deviceConnected ? "preferences-system-bluetooth-activated" : "preferences-system-bluetooth";
|
|
colorGroup: PlasmaCore.ColorScope.colorGroup
|
|
|
|
visible: BluezQt.Manager.bluetoothOperational
|
|
|
|
Layout.fillHeight: true
|
|
Layout.preferredWidth: height
|
|
function updateStatus()
|
|
{
|
|
var connectedDevices = [];
|
|
|
|
for (var i = 0; i < BluezQt.Manager.devices.length; ++i) {
|
|
var device = BluezQt.Manager.devices[i];
|
|
if (device.connected) {
|
|
connectedDevices.push(device);
|
|
}
|
|
}
|
|
deviceConnected = connectedDevices.length > 0;
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
BluezQt.Manager.deviceAdded.connect(updateStatus);
|
|
BluezQt.Manager.deviceRemoved.connect(updateStatus);
|
|
BluezQt.Manager.deviceChanged.connect(updateStatus);
|
|
BluezQt.Manager.bluetoothBlockedChanged.connect(updateStatus);
|
|
BluezQt.Manager.bluetoothOperationalChanged.connect(updateStatus);
|
|
|
|
updateStatus();
|
|
}
|
|
}
|