kdeconnect-kde/declarativeplugin
Fabian Arndt b24d629802 virtualmonitor: implemented capabilities check
BUG: 485829

## Summary

Currently, the plugin just fails silently if the local device is missing the `krfb` package or if the remote device misses an `vnc://` protocol/scheme handler. You click the button and nothing happens.

One issue is, that the plugin is considered `virtualmonitor.available` in the `DeviceDelegate.qml`, even if the check for `krfb-virtualmonitor` fails and no dbus-path is provided. I investigated the behavior a bit, but ignored it in the end as this MR benefits from being shown for device constellations that _could_ provide this feature.

A warning is shown with brief instructions, how to get the plugin working correctly.

- Check if krfb-virtualmonitor is available locally
- Check default scheme handler for vnc:// on device (Linux)
- Show warnings / reasons, if no connection could be established


## Test Plan

Regarding if the devices have mentioned packages installed, we should see different behaviors.

If the remote device has no VNC client, it can not connect to out server. _A warning should be shown._

If the local device hasn't the `krfb-virtualmonitor` available, the remote device couldn't connect. _A warning should be shown._

If both problems are present, _both warnings should be shown._


If none of these are present, no warning should be shown and we should try to establish a connection.


The connection attempts failed? _A warning should be shown._
2024-05-30 23:13:54 +00:00
..
qml virtualmonitor: implemented capabilities check 2024-05-30 23:13:54 +00:00
CMakeLists.txt Cleanup all occurences of QT_MAJOR_VERSION in cmake 2023-12-28 17:49:07 +01:00
kdeconnectdeclarativeplugin.cpp Remove photo plugin 2023-09-15 23:04:17 +00:00
kdeconnectdeclarativeplugin.h Add and make use of ECM's clang-format integration 2022-09-11 23:21:58 +00:00
objectfactory.cpp Add explicit moc includes to cpp files 2023-07-30 07:27:45 +00:00
objectfactory.h Remove unused default destructors 2023-08-05 20:22:18 +00:00
pointerlocker.cpp Use std::unique_ptr for pimpl classes 2023-08-28 17:20:46 +00:00
pointerlocker.h Add and make use of ECM's clang-format integration 2022-09-11 23:21:58 +00:00
pointerlockerwayland.cpp Add explicit moc includes to cpp files 2023-07-30 07:27:45 +00:00
pointerlockerwayland.h mousepad: Implement relative mouse movements 2023-05-12 15:48:25 +02:00
responsewaiter.cpp Fixed typo 2024-05-07 01:20:13 +00:00
responsewaiter.h Remove unused default destructors 2023-08-05 20:22:18 +00:00