Currently, it is not possible to edit an already defined command
or to copy its command text. This MR adds a new action "Edit"
that opens an edit dialog that resembles the "Add Command" dialog.
Co-Authored-By: Aleix Pol <aleixpol@kde.org>
BUG: 512904
The KDE Connect QML app has reached the point where it has almost 100% feature parity with the KCM (two features missing only: exporting/importing commands lists for the runcommand plugin, and configuring the applications for the receive notifications plugin). So I think it's time we kill the KCM module and replace it with the nicer looking QML app, removing in the process a whole lot of code duplication.
I originally wrote the KCM module 12 years ago now and it has served us well all this years, but it's time for it to go 😄
The old logic was searching for qtdbus-qt5, what's isn't the case for newer distros with Plasma 6(like fedora), so i changed it with the assumption that distros using newer kde-connect would already be using plasma 6
Tested the patch in fedora 41
Most plugin pages and plugin settings pages have no element that has
default focus. As a consequence, when the page is first opened, focus
ends up on a non-interactive element and keyboard users need to press
tab first to interact with anything.
This change sets an item to receive focus by default, so keyboard users
can start interacting with the page immediately.
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.
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".
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.
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.
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