applets/kicker: Fix stuff
There are lots of individual atomic commits, some of the most interesting ones include:
Fix assigning to a property of a null object
The change signal is emitted for a null systemFavorites object during startup for some reason.
Use optional chaining to call a method on a nullable item
Somehow it may happen, in which case an error would be printed to the journal:
file:///usr/share/plasma/plasmoids/org.kde.plasma.kicker/contents/ui/ItemListView.qml:154: TypeError: Cannot read property 'forceActiveFocus' of null
Fix and improve vertical alignment for list headers
There is no such enum variant as AlignVTop. It's either AlignTop or AlignVCenter. Since there's no RESET signal and binding an undefined value just failed with an error, all these years headers has been aligned to the default value which is AlignTop.
However, aligning to the vertical center (AlignVCenter) feels more natural and balanced, and the text doesn't have to stick to the top edge without any margins.
Amends 2f5345c3
Clip the ListView
That's not a responsibility of a ScrollView to take care of Flickable's clipping.
See frameworks/qqc2-desktop-style!332 (merged)
followed by…
Port applet UI from QQC2 ScrollView to PlasmaComponents3
Amends ce3d6c3d
Fix broken tooltip for grid delegates
how could've they ever worked with a message bound to a custom property string text
? of course, they didn't.
Fix property access on a nullable object
A null dragSource happens when dragging an item from a menu/submenu to the sidebar, in which case we don't need to move the rows indeed.
Fix property access on a nullable currentItem property
(yeah, more nullable dereferences)
Simplify currentIndex reset on focus loss
From what I can tell, there should be no need to ping every Repeater's item and check for its focus state every time any one of them changes. Individual items should receive their focusChanged signal in a timely manner, after which there's no way they get another currentIndex until the next focus-in event.
Fixes the following warnings:
file:///usr/share/plasma/plasmoids/org.kde.plasma.kicker/contents/ui/MenuRepresentation.qml:202:20: Duplicate signal name: invalid override of property change signal or superclass signal file:///usr/share/plasma/plasmoids/org.kde.plasma.kicker/contents/ui/MenuRepresentation.qml:231:30: Duplicate method name: invalid override of property change signal or superclass signal
Drop malformed property change handler
This code effectively does nothing, and never did anything.
It's just two GoTo labels with two expressions of false
literals.