2016-04-06 01:55:50 +01:00
|
|
|
/**
|
2020-08-17 10:48:10 +01:00
|
|
|
* SPDX-FileCopyrightText: 2014 Samoilenko Yuri <kinnalru@gmail.com>
|
|
|
|
* SPDX-FileCopyrightText: 2016 David Kahles <david.kahles96@gmail.com>
|
2024-06-30 23:03:57 +01:00
|
|
|
* SPDX-FileCopyrightText: 2024 ivan tkachenko <me@ratijas.tk>
|
2016-04-06 01:55:50 +01:00
|
|
|
*
|
2020-08-17 10:48:10 +01:00
|
|
|
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
2016-04-06 01:55:50 +01:00
|
|
|
*/
|
|
|
|
|
2024-06-30 23:03:57 +01:00
|
|
|
pragma ComponentBehavior: Bound
|
2016-04-06 01:55:50 +01:00
|
|
|
|
2024-06-30 23:03:57 +01:00
|
|
|
import QtQml
|
|
|
|
|
|
|
|
import org.kde.kdeconnect as KDEConnect
|
2016-04-06 01:55:50 +01:00
|
|
|
|
2024-06-30 23:03:57 +01:00
|
|
|
QtObject {
|
2016-04-06 01:55:50 +01:00
|
|
|
id: root
|
|
|
|
|
2024-06-30 23:03:57 +01:00
|
|
|
property KDEConnect.DeviceDbusInterface device
|
|
|
|
property string pluginName
|
|
|
|
property bool available
|
|
|
|
property string iconName
|
2016-04-06 01:55:50 +01:00
|
|
|
|
2016-08-21 12:08:36 +01:00
|
|
|
readonly property Connections connection: Connections {
|
|
|
|
id: conn
|
2024-06-30 23:03:57 +01:00
|
|
|
|
|
|
|
target: root.device
|
|
|
|
|
|
|
|
function onPluginsChanged(): void {
|
2022-08-16 14:38:39 +01:00
|
|
|
root.pluginsChanged();
|
|
|
|
}
|
2016-04-06 01:55:50 +01:00
|
|
|
}
|
|
|
|
|
2024-06-30 23:03:57 +01:00
|
|
|
Component.onCompleted: {
|
|
|
|
pluginsChanged();
|
|
|
|
}
|
2016-04-06 01:55:50 +01:00
|
|
|
|
2024-06-30 23:03:57 +01:00
|
|
|
readonly property KDEConnect.DBusAsyncResponse __availableResponse: KDEConnect.DBusAsyncResponse {
|
2018-08-03 00:53:21 +01:00
|
|
|
id: availableResponse
|
2024-06-30 23:03:57 +01:00
|
|
|
|
2016-06-12 21:26:23 +01:00
|
|
|
autoDelete: false
|
2024-06-30 23:03:57 +01:00
|
|
|
|
|
|
|
onSuccess: result => {
|
|
|
|
root.available = result;
|
|
|
|
}
|
|
|
|
|
|
|
|
onError: message => {
|
|
|
|
root.available = false;
|
|
|
|
}
|
2016-06-12 21:26:23 +01:00
|
|
|
}
|
|
|
|
|
2024-06-30 23:03:57 +01:00
|
|
|
function pluginsChanged(): void {
|
|
|
|
if (device) {
|
|
|
|
availableResponse.setPendingCall(device.hasPlugin("kdeconnect_" + pluginName));
|
|
|
|
iconResponse.setPendingCall(device.pluginIconName("kdeconnect_" + pluginName));
|
|
|
|
}
|
2018-08-03 00:53:21 +01:00
|
|
|
}
|
|
|
|
|
2024-06-30 23:03:57 +01:00
|
|
|
readonly property KDEConnect.DBusAsyncResponse __iconResponse: KDEConnect.DBusAsyncResponse {
|
2018-08-03 00:53:21 +01:00
|
|
|
id: iconResponse
|
2024-06-30 23:03:57 +01:00
|
|
|
|
2018-08-03 00:53:21 +01:00
|
|
|
autoDelete: false
|
2024-06-30 23:03:57 +01:00
|
|
|
|
|
|
|
onSuccess: result => {
|
|
|
|
root.iconName = result;
|
|
|
|
}
|
|
|
|
|
|
|
|
onError: message => {
|
|
|
|
root.iconName = "";
|
|
|
|
}
|
2016-04-06 01:55:50 +01:00
|
|
|
}
|
|
|
|
}
|