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
Most of our other applets do this so their configuration window can be
reached without having to right-click anything, which is especially
important for touch. The Clipboard applet should too.
There's no point in keeping the search text if you're clearing all
entries, since doing that removes all data that the search field would
be searching through.
Otherwise if you search for some text and it produces no results, the
search field becomes disabled so you can't change or clear your search
and use the applet again!
This begins the process of porting plasma-workspace to PlasmaComponents3. At
this point, only the relatively easy work is done. Every file not ported
now has been given the reason for still using PC2 in a comment on the import
line so you can see at a glance what the blocker is by running
`grep -r "org.kde.plasma.components 2.0"` in the repo.
Everything is tested and there are no breakages or functional regressions. In
the process, a few unused imports are removed.
Here are the remaining PC3 omissions blocking what's left from getting easily
ported:
- No Highlight
- No ListItem
- No PageStack
- No ContextMenu
- No QueryDialog
- No ModelContextMenu
- TabBar has no left and right tab states
- ToolButton has no built-in method to show a menu when clicked
Which does the rendering and proper sizing for us, e.g. ensure integer scaling so the barcode remains scannable.
While at it, fix supportsBarcode (wasn't routed through to the delegate component when it was split out)
and add Code 128 which is in Prison now.
Also, show a label when the barcode would become too large to display (mostly for the 1D barcodes).
The Prison item does not use a thread for generating the barcode like the dataengine does but it's super fast.
Differential Revision: https://phabricator.kde.org/D29478
Summary:
Otherwise we're discarding style information possibly set in
the user's small font choices when we want to set a smaller
font.
Test Plan: Stuff that's suposta look small still looks small
Reviewers: cblack, #plasma
Reviewed By: cblack, #plasma
Subscribers: ahiemstra, apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29437
Summary:
In D29652, I made an annoying mistake: I removed the check if the clipboard is empty when initializing the **Plasmoid.status** of the Clipboard applet. If the user enables the option to save clipboard content, then after restarting the Plasma, even if the clipboard had content, the state of the applet will be **PlasmaCore.Types.PassiveStatus** and its icon will be hidden in the system tray. This patch fixes this issue. I hope it will get into Plasma 5.19.
See: https://phabricator.kde.org/D29652
Reviewers: ngraham, mart
Reviewed By: ngraham, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29818
Summary:
It would be correct to close the Clipboard applet after clearing the history or deleting the last element, since there is nothing more to do with the empty Clipboard applet (similar to how the Notification applet closes after the last notification is removed).
BUG: 421345
FIXED-IN: 5.20
Reviewers: ngraham, #plasma, broulik
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29652
Summary:
The Clipboard and Notifications applets live in plasma-workspace; port them to use
Kirigami.PlaceholderMessage
Test Plan:
Clipboard: {F8253980}
Notifications: {F8253981}
Reviewers: #vdg, #plasma, broulik, niccolove, cblack
Reviewed By: #vdg, #plasma, niccolove, cblack
Subscribers: plasma-devel
Tags: #plasma
Maniphest Tasks: T13021
Differential Revision: https://phabricator.kde.org/D29109
Summary:
When I pin a Klipper widget and then click on a history item, the Klipper widget closes.
To fix this bug, we need to check if Klipped is pinned, but to be able to do this, we also need to "forward" the pinned state from the SystemTray applet to the Klipper applet.
BUG: 416510
FIXED-IN: 5.19.0
Reviewers: ngraham, #plasma
Reviewed By: ngraham
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28408
Summary:
Fixed clearing the clipboard when clearing history
(bug #409366 caused by 3bd6ac34ed)
Properly synchronize clipboard content and history
(deleting last item in history didn't clear the clipboard).
Keep last image in history even if we are ignoring images, but without preview
(so that we can still clear history, and the tooltip says truth about clipboard content).
Fixed tray icon tooltip text.
Do not scale small images up in clipboard Plasmoid.
BUG: 409366
{F7168503}
Test Plan:
Spectacle -> [Copy to Clipboard]
Paste into Dolphin (clipboard content)
Deleting single items from clipboard
Clearing the entire history
Reviewers: #plasma, #plasma_workspaces, ngraham, davidedmundson
Reviewed By: #plasma, #plasma_workspaces, ngraham, davidedmundson
Subscribers: GB_2, davidre, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22684