Commit graph

1547 commits

Author SHA1 Message Date
Rob Emery
223dcfec6d Fixing deprecated bitwise ops of dissimiliar enums 2024-10-10 08:51:57 +01:00
Carl Schwan
725a4e6d46 kdeconnect_runcommand_config: Fix i18n call 2024-10-09 10:26:16 +00:00
Biswapriyo Nath
2310f7ce76 plugins/lockdevice: Remove unnecessary MSVC specific pragma directive
Fixes the following compiler warning with mingw-w64 toolchain:
    
    lockdeviceplugin-win.cpp:18: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
       18 | #pragma comment(lib, "user32.lib")
2024-10-08 15:46:11 +00:00
Carl Schwan
e04072c83e kdeconnect-app: Remove PluginInfoPage wrapper
Base the config page on Kirigami.Page and create them directly.
2024-10-06 11:04:44 +00:00
l10n daemon script
51a9f26bc1 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-09-20 01:25:09 +00:00
Christoph Wolk
ba5061a215 plugins/runcommand: set Dialog preferredWidth
The Add command dialog currently does not set a preferredWidth, which
seems to cause repeated binding loops and a lot of log spam until the
dialog is actually put on screen.

This change sets the preferredWidth to 20*gridUnit, which seems to be
the typical size used in small dialogs and is about the size that the
dialog has without a width explicitly set.
2024-09-08 13:19:44 +00:00
Christoph Wolk
3e7936dc08 plugins/runcommand: improve PlaceholderMessage
While the HIG is not quite clear on this, PlaceholderMessages throughout
KDE applications and kcms tend to have sentence capitalization in their
title and include a verb (e.g. "Playlist is empty", "No game controllers
found"). The runcommand plugin breaks with this; it uses title
capitalization and does not include a verb: "No Commands".

This change modifies the title to read "No commands configured".
2024-09-08 13:19:44 +00:00
Christoph Wolk
eecdc67074 plugins/runcommand: use ColumnLayout for ListView
The ListView displaying the configured actions currently directly uses a
label that is made multi-line by including a newline. As a consequence,
eliding the text does not work properly and there is a visual clash with
the included action button. It also means that there is a rather
pointlessly translatable string that is just there for UI logic.

This change modifies the delegate to use a ColumnLayout instead, which
enables correct eliding of the labels and more cleanly separates layout
and content concerns.
2024-09-08 13:19:44 +00:00
Christoph Wolk
9f34092aa9 plugins/runcommand: make config dialog HIG-compliant
The HIG recommend that buttons with an action label that require further
user input end in an ellipsis, and that dialog buttons should clearly
indicate what they do. Button labels typically do not match the given
exceptions that license sentence case. Currently, the main "Add command"
button in the configuration button does not end in an ellipsis even
though it opens a dialog, is sentence case, and the dialog has a "Save"
rather than the customary "Add" that is used for these kinds of actions,
in particular in kcms. The dialog title is also not translatable.

This change adds the ellipsis, converts the button to title case, makes
the dialog title translatable, and adds an "Add" button as an action to
the dialog.
2024-09-08 13:19:44 +00:00
Alexander Lohnau
26c9f77b2b plugins/systemvolume: Work around remaining clang-format differences between different versions 2024-09-08 08:46:53 +00:00
Alexander Lohnau
013ba537b5 Fix clang-format 14 being confused about comment before access modifier 2024-09-08 08:46:53 +00:00
Alexander Lohnau
213b73f1dd Small typo fixes in docstrings 2024-09-08 08:46:53 +00:00
l10n daemon script
daa164bea1 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-08-28 01:25:08 +00:00
l10n daemon script
92b24bdd52 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-08-19 01:21:04 +00:00
l10n daemon script
7b3ca281b1 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-08-15 01:21:22 +00:00
l10n daemon script
727364a38d 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-08-13 01:21:06 +00:00
Arjan Marku
16ccee7ac9 fix: don't send clipboard network packets on empty text
If you lock the screen in EndeavourOS, a signal KSystemClipboard:changed is emitted with empty text and clipboard mode QClipboard::Clipboard. Upon unlock the clipboard will be re-synced.

A clipboard network packet will be sent for KSystemClipboard::changed signals if:
1. the received mode is QClipboard::Clipboard
2. the new content and its type are different from the current ones.

The problem here is that, before locking the screen, current content is not empty. As of condition #2, a network packet with the empty text will be sent, which clears the current clipboard selection in GBoard but the contents stay the same. Upon re-sync in unlock, a packet will be sent again due to #2.

This commit aims to fix this by ignoring empty text updates since from the end-user it unnecessarily clears the current clipboard selection and results in many "Copied to clipboard" toasts.
2024-08-12 11:06:11 +00:00
Alexander Lohnau
b1c3049fc1 Add custom JSON schema, extending KPluginMetaData and enforcing KDE-Connect specific keys 2024-08-12 11:01:22 +00:00
l10n daemon script
5a2f1903d0 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-08-09 01:21:37 +00:00
ivan tkachenko
21d7b4fbdc Virtual Monitor: Replace the video-monitor icon with something that exists
There is no "video-monitor" in Breeze Icons, so it inappropriately falls
back to "video" icon which looks like a file icon rather than a device.
2024-08-05 23:07:01 +00:00
Christoph Wolk
19763dbf46 plugins/runcommand: use Kirigami.Dialog
The "Add Command" dialog in the settings for the Run Command plugin
looks rather broken at the moment, as the size is not explicitly set and
the default value ends up much smaller than the contents. It uses
QQC2.Dialog, even though the plugin makes heavy use of Kirigami. Using
Kirigami.dialog here would solve the sizing issue, and generally lead to
a more consistent interface.

This change makes the plugin use Kirigami.Dialog instead of QQC2.

BUG: 487438
2024-08-05 22:06:14 +00:00
Krut Patel
f2e506e059 mpris-remote: Support for fetching album art
Implementation of sending album art from phone to PC.

Complementary MR for the android side: https://invent.kde.org/network/kdeconnect-android/-/merge_requests/353

Fixes: https://bugs.kde.org/show_bug.cgi?id=422136
2024-07-31 16:39:28 +00:00
l10n daemon script
b4bcc7a924 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-07-30 01:23:49 +00:00
Albert Vaca Cintora
4f3a896833 Remove SSH flag to enable deprecated algorithms and keys
New OpenSSH versions don't ship them, causing an error:
 Bad key types '+ssh-dss,ssh-rsa'

We will add compatibility with newer keys on the Android side soon, as
part of this year's GSOC project.
2024-07-12 14:14:01 +00:00
l10n daemon script
7a57ad580b 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-28 01:20:00 +00: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