Previously, clicking the Edit button opened a dialog to edit it in. Now
it is done inside the applet itself. This makes it much less disruptive
and jarring, and makes the editing action feel smoother.
- Up/Down now ensures item is completely in view
- Ctrl+F works
- Tab/Shift+Tab events are no longer eaten by the search field
- Tab/Shift+Tab now resolve to actions on the selected item first
- Can use Escape key to go back from from QR code page
In most cases the port is trivial and can even simplify the code like in
the case of the system tray applet. In the case of notifications applet,
this is causing a bigger refactor and it's now also using a TextArea
that provides the automatic scrolling when selecting behavior.
CCBUG: 437155
This action generates a QR code, but refers to it as a barcode in the UI
strings. In English at least, this is confusing; barcodes and QR codes
are different things, rather than one being a subset of the other. So
let's change the base English text to call the generated image a QR
code rather than a barcode. Any other language where the translation
for "barcode" is appropriate can substitute that in the translated text.
Pressing the delete key will now delete the highlighted list item under
any of the following circumstances:
1. A list item is selected and has focus
2. A list item is selected and the search field has focus but it is
empty or the insertion point is at the end of the string (in either
case, pressing the delete key would otherwise do nothing)
This allows quickly and easily deleting clipboard items using only the
keyboard, including after using the search field to filter it down.
BUG: 439174
FIXED-IN: 5.78
All applets for placing a group of buttons use a Layout items (RowLayout or ColumnLayout) that has a non-zero spacing by default, while delegate buttons use a Row that has a zero spacing by default. This MR makes the delegate buttons use a RowLayout, which makes them look similar to the rest of the button groups.
This commit fixes the alignment of the delegate buttons, which is sometimes
broken. As stated in the Qt docs, we should use AnchorChanges instead of
conditional bindings.
BUG: 437044
FIXED-IN: 5.22.4
Now it will say "No matches" when there are no search results, and
"Clipboard is empty" when the clipboard actually is empty.
BUG: 437386
FIXED-IN: 5.23
We ported units to use the PlasmaCore.Units singleton earlier; now it's
time to do the same thing for PlasmaCore.Theme.
There are no UI changes or regressions detected.
When you delete multiple items individually, you can keep clicking
without moving your mouse because the delete button doesn't change its
position (except for when the scrollbar hides, but this is inevitable).
However this ceases to be true for tall entries containing files,
images, URLs, or previews, because the buttons are always centered
vertically in the item. So you have to re-position your mouse to click
on the delete button in its new position, and then do so again to
account for the height of the next item, and so forth.
This commit fixed that problem by top-aligning the row of hover buttons,
but only for tall items. For default-height items, they remain
vertically centered.
Currently, the Clear History action remains visible even if the clipboard
history is empty. This patch changes this so the behavior of the Clear History
action will be the same as in the Notifications widget.
The context property version is slower to access and won't be supported
in Qt6. Let's port away from it and use the singleton version instead.
Here was my full process for making this change:
1. Made the change with `find . -name '*.qml' | xargs perl -pi -e 's/units\./PlasmaCore\.Units\./g'`
2. Verified no more occurrences with `grep -r " units."`
3. Made sure this didn't change any comments in a silly way by inspecting the output of `git diff | grep "+ " | grep "//"`
4. Manually inspected the full git diff to make sure there were no other unintentional or silly changes (there were none)
5. verified that all changed files have the PlasmaCore import with the correct name with `for FILE in `git status | grep modified | cut -d ":" -f 3`; do grep -q "as PlasmaCore" $FILE || echo "$FILE needs the PlasmaCore import"; done`
This yields several benefits:
- The action automatically goes into the header in the system tray
representation, which improves the presentation
- We get a context menu action for it for free, which is a nice
accelerator for experts
the comboboix of a very rarely used feature right
in the header area is super noisy, looks misaligned and puts the feature
in a too much prominent role.
Put everything under a popup menu, mustually exclusive actions will be
shown as radiobuttons