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` (one needed the import)
CCBUG: 433948
Note that this also makes the busy indicator stop spinning at all when
the user has disabled animations. Instead it just shows a static image.
In TextField, it was not disabled, so the mousearea that changes the
cursor shape wasn't working properly. Fixed now.
In TextArea, it was not disabled, not the right color, and was
inappropriately selectable. Fixed now.
The UI tests were testing for these conditions but were broken, and are
now fixed by these changes.
BUG: 433864
FIXED-IN: 5.80
Loading it as a `QImage` just uses whatever first frame there is in the image
whereas `QIcon` has all the logic needed for interpreting `.ico` files and
picking the right pixmap for a given size.
BUG: 429927
There's no such color group as PlasmaCore.Theme.WindowColorGroup; the
one corresponding to the window color group is
PlasmaCore.Theme.NormalColorGroup.
This change breaks the build for applications that have no dependency
on ECM (eg: ikona).
A similar change was also reverted in kpackage for the same reason.
This reverts commit ff5ed26f21.
Frameworks will be Frameworks 6 at some point and there is no good reason to have the major version in the variable name.
Given this is purely internal we can to this now, making it a bit more future-proof
GIT_SILENT
NO_CHANGELOG
The top corners of the line edit were previously lenghthened, causing
distortion whenever the lineedit's height changed from that of
the source SVG.
The bottom left corner also had an issue, although it's mostly non visible
GUIwise.
Previously it was basing its height on an icon size, which does not
scale with the font. As a result, sometimes the actions list could
get clipped when using certian fonts and font sizes. Let's change this
to multiples of GridUnit, which adjusts with the font.
This allows DaysCalendar to take advantage of the work in the previous commits
removing hover animations on PC3 components, and is generally good for modernisation
anyways.
For some reason, we weren't putting plasmoid loading errors into the console, which interfered with debuggability of errors. Dumping them is useful for debugging.
It imported Kirigami to check whether we are on mobile.
Kirigami::Settings::isMobile checks whether QT_QUICK_CONTROLS_MOBILE is set.
QtQuickControlsSettings always returns true on various mobile platforms (Q_OS_IOS,
Q_OS_ANDROID, Q_OS_BLACKBERRY, Q_OS_QNX and Q_OS_WINRT) or checks
QT_QUICK_CONTROLS_MOBILE.
`MenuItem` does not delete other people's `QAction` but it does not take kindly
to the `QAction` being deleted under it. As a workaround recreate a dummy action
when ours gets destroyed.
This crash can easily be triggered by opening the Media Controller applet and
quickly right-clicking its icon to open the context menu. Media Controller recreates
its actions in `contextualActionsAboutToShow`, which removes and deletes them.
Then the `Instantiator` in System Tray's `ExpandedRepresentation` updates its `model`,
deleting the delegate items (`MenuItem` instances) it created. This prompts the `Menu`
to run `removeMenuItem` on the now removed `MenuItem`, accessing its backing `action()`
to remove it from the menu, resulting in a crash as it was deleted earlier.