Commit graph

1525 commits

Author SHA1 Message Date
David Redondo
e58c1a1415 Add shareinptudevices plugin
This plugin provides synergy-like behavior of sharing input devices
between machines by moving the cursor seamlessly between them.
To this end this uses the InputCapture Portal to be notified when
the cursor moves 'out of the screen'. For forwarding input
the existing mousepad infrastructure is used.
On the other side a tiny hidden plugin listens to mouse events to
track when input should pass back to source machine.
2024-07-03 12:08:03 +02:00
David Redondo
8c4c7d7baa mousepad: On Wayland use ei to send events
This is to make setting the absolute cursor position work.
The remote desktop portal only allows screencasting sessions
to use NotifyPointerMotionAbsolute.
2024-07-03 11:23:30 +02:00
David Redondo
b7763fc888 mousepad: Support setting the cursor to absolute positions 2024-07-02 10:23:43 +02:00
l10n daemon script
ee303f76b1 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-18 01:20:08 +00:00
l10n daemon script
c052b49d41 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-17 01:18:25 +00:00
Albert Vaca Cintora
6ae69c89c5
Fix powershell example command 2024-06-14 14:56:46 +02:00
Ben Yip
3d7b849e90 fix: runcommand with args fails on windows 2024-06-14 15:06:15 +08:00
l10n daemon script
2df8782142 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-11 01:18:34 +00:00
l10n daemon script
065a23e386 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-10 01:17:37 +00:00
l10n daemon script
aa009cfd85 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-09 01:17:55 +00:00
l10n daemon script
d60215a7bd SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-05 01:18:01 +00:00
Albert Astals Cid
9faa049c55 Make clang-format happy 2024-06-04 19:02:58 +02:00
Albert Vaca Cintora
17c97a4768 Add a parent to KCompositeJob
So they are stopped if the device is destroyed
2024-06-04 14:15:23 +00:00
l10n daemon script
29de4a52bb SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-03 01:17:38 +00:00
l10n daemon script
c9cac4160f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-02 01:17:34 +00:00
l10n daemon script
09e1f60035 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-01 01:17:53 +00:00
Fabian Arndt
bfdb1c7ff5 Virtual Monitor: always provide dbus path
The plugin should always be loaded, as:
- we can provide a virtual display over VNC, even if the device isn't capable to use virtual displays itself (`krfb-virtualmonitor`)
- we would do the capabilities check regardless, if !670 gets merged
- hiding the DBus path doesn't trigger the `PluginChecker.qml` to think the plugin is unavailable, it just doesn't work
- -> is this a bug or intended behaviour?
2024-05-31 20:31:21 +00:00
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
Łukasz Patron
7d3c37d3e6
Add Qt::DBus dependency to kdeconnect_runcommand_config
It seems like we now have to explicitly do that for Windows, as
otherwise, build fails when including <dbushelper.h>.
2024-05-25 10:31:46 +02:00
l10n daemon script
7963effff6 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-05-12 01:19:07 +00:00
Albert Vaca Cintora
7010c66c05 Exclude Chrome/Firefox players if Plasma Extension is installed
The extension provides a superset of the features of the browser mpris
2024-05-04 19:41:02 +00:00
l10n daemon script
cd22528bab SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-05-04 01:21:06 +00:00
Heiko Becker
0ae548dbd8 Remove no longer necessary Qt6Core5Compat dependency 2024-05-01 16:18:14 +02:00
Fabian Arndt
2716a7a2e6 Fixed virtualmonitorplugin url generation
BUG: 485830

The current implementation of the plugin is severly broken.

1. The generated URL links to the localhost
2. The port is not set

-----

The URL is now generated on the request receiving side, not send in the request.
This allows finding a valid IP address.

Furthermore, I changed the protocol by splitting it up. This could become useful, if we ever want to support other rdp protocols/platforms.

Note: This is a breaking change, but the current implementation is not working at all.. so it does not actually break something.
2024-04-28 14:14:26 +00:00
l10n daemon script
8a48eb141f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-04-28 01:15:33 +00:00
Aleix Pol
a0d93fa537 Make sure we are not using deprecated APIs
Bumps the deprecation values in line with the APIs we depend on.
2024-04-27 17:47:29 +02:00
Aleix Pol
5921ab6f2a Drop Qt5-only code branches 2024-04-27 17:46:39 +02:00
l10n daemon script
fc8ec856e6 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-04-08 01:13:43 +00:00
Marx Zhu
642c990568 fix: do not send NetworkPacket if autoshare is disabled when connecting
BUG: 476551
2024-03-31 14:48:12 +00:00
l10n daemon script
ab49f96c74 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-03-28 01:18:01 +00:00
Albert Astals Cid
6fe9a4354e Make clang-format happy 2024-03-27 19:22:02 +01:00
Volker Krause
812db0ccde Remove QTextCodec usage
We are converting a base64 string here, no reason so convert that with
CP1251 specifically.
2024-03-09 09:54:04 +00:00
Aleix Pol
58e9bf3161 sftp: --warning 2024-03-06 21:58:04 +00:00
Albert Vaca Cintora
f8b06eb688
singlerelease is actually used 2024-03-02 00:03:13 +01:00
l10n daemon script
ac13d83fa1 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-02-18 01:14:07 +00:00
l10n daemon script
398c13b6e7 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-02-11 01:13:59 +00:00
l10n daemon script
95316a336e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-02-10 01:16:07 +00:00
l10n daemon script
9e699c3e54 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-01-29 01:11:56 +00:00
Prajna Sariputra
383ad27b59 [plugins/mousepad]: Add support for the persistence feature of the RemoteDesktop portal
This allows us to avoid asking the user for permission for remote control on Wayland every time kdeconnectd is restarted for whatever reason (for example logging out or rebooting), at least in theory. The idea is that the SelectDevices call now also accepts a restore token, and if the user grants permission to persist a restore token will be returned in the response of the Start call.

Currently https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/merge_requests/265 is required for this to work at all with Plasma 6, and even then persistence only works in the same session (for example if I restart kdeconnectd then I only get the notification instead of the permissions prompt), if I reboot the system then the token gets invalidated and the permissions dialog appears again, not sure if the issue is with what I'm doing here or if that's a bug in the portal.

Things that need to be checked:
- What happens if the portal implementation only has v1 of the protocol and not v2 (the one with persistence)?
  - In particular what happens for the SelectDevices call if a restore token is given despite the portal not supporting it
    - Seems fine with xdg-desktop-portal 1.14.4 at least 
  - For the Start call we'll need to handle the case of the user denying the persistence request anyway
- Where and how should the restore token be stored?
  - ~~I used KConfig just so I have something to test, but the restore token isn't really a setting~~
    - Updated to use `KSharedConfig::openStateConfig`
  - Most of KDE Connect's settings and data appear to be for each connected device
  - The device name is a global setting, but it's implemented using QSettings rather than KConfig, and currently only setName and getName is exposed in `core/kdeconnectconfig.h`


BUG: 479013
2024-01-28 14:00:05 +00:00
Nicolas Fella
2e99c37122 [plugins/telephony] Clear actions before creating new notification action
Otherwise we accumulate them

BUG: 479904
2024-01-22 13:52:18 +00:00
l10n daemon script
22a097198d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-01-19 01:11:56 +00:00
l10n daemon script
59dd54a115 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-01-15 01:13:08 +00:00
l10n daemon script
ad23ac6b0d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-01-14 01:12:55 +00:00
l10n daemon script
f0b5fb65fa SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-01-08 02:08:57 +00:00
Tobias C. Berner
e7fd4257bf Use pkg-configs imported target to link against DBus
To use -ldbus, the value of ${DBus_LIBARARY_DIR} would also need to be
added to the linker search paths.

To get around this, simply use the imported target by pkgconfig.

[1] b8b30ba571
2024-01-07 11:42:23 +01:00
l10n daemon script
1197e473f7 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-12-30 02:10:33 +00:00
Andreas Sturmlechner
6e99c00d76
Drop obsolete QT_VERSION_CHECK ifdefs from code
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2023-12-28 19:18:02 +01:00
Andreas Sturmlechner
79bc9a85e4 Cleanup all occurences of QT_MAJOR_VERSION in cmake
Follow-up to 7f03aa548c

Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2023-12-28 17:49:07 +01:00
l10n daemon script
46e808e076 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-12-28 02:06:08 +00:00
l10n daemon script
5476511e8b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-12-26 02:06:05 +00:00