The pinned popups need to act as a "panel extension". Easiest way to
achieve this on Wayland is to just make sure they end up on the panel
layer. This is simply done by changing the role on their corresponding
surface so that KWin treat them properly (as in like a panel but with
windows able to go under).
Neat way of doing it like this is that it will work wherever the popup
parent is coming from (a panel or the desktop).
BUG: 400317
This fixes the problem of the default list item not being rendered with
bold text as intended, which was caused by checking the count property
of the wrong thing and causing a condition to always evaluate to false.
The old code forgot to launch some signal by directly assigning todat to
the displayed date. Using the setter make sure everything is displayed
visually.
Prior to a45bd75800, label alignment was
controlled by its Layout properties. However that commit made the label
fill width to fix elision, which means that the Layout.Alignment property
no longer has any effect anymore. Therefore, we need to use the
horizontalAlignment property to position the text within its
now-width-filling box.
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.
The viewBox wasn't right, which made the values reported by naturalSize.width and naturalSize.height extremely small.
If you start an SVG from certain templates in Inkscape and then convert the units to px, the viewBox gets messed up. It won't look messed up in Inkscape because everything will appear scaled correctly, but it's actually roughly 26% of the size it should be. In order to fix this, you need to set the document scale to 1.0 which will cause all of the elements in the SVG to shrink to the size they really were. Then, you need to scale all the elements back up to their original sizes.
This dead code was found during investigation of KDE bug 433907.
"ok" is always "false", thus next condition is always "false"
and m_localRectCache is never filled from cache.
It looks like "ok" should be set to "true" if "key" contains a valid integer value.
Time in milliseconds equivalent to the theoretical human moment, which can be used
to determine whether how long to wait until the user should be informed of something,
or can be used as the limit for how long something should wait before being
automatically initiated.
Some examples:
- When the user types text in a search field, wait no longer than this duration after
the user completes typing before starting the search
- When loading data which would commonly arrive rapidly enough to not require interaction,
wait this long before showing a spinner
This might seem an arbitrary number, but given the psychological effect that three
seconds seems to be what humans consider a moment (and in the case of waiting for
something to happen, a moment is that time when you think "this is taking a bit long,
isn't it?"), the idea is to postpone for just before such a conceptual moment. The reason
for the two seconds, rather than three, is to function as a middle ground: Not long enough
that the user would think that something has taken too long, for also not so fast as to
happen too soon.
See also
https://www.psychologytoday.com/blog/all-about-addiction/201101/tick-tock-tick-hugs-and-life-in-3-second-intervals
(the actual paper is hidden behind an academic paywall and consequently not readily
available to us, so the source will have to be the blog entry above)
see also https://invent.kde.org/frameworks/kirigami/-/merge_requests/268
It isn't used anywhere.
It is problematic since it returns KPluginInfo. Instead one can use the
KPluginMetaData-based method and do the filtering manually
This reverts commit b6f9e51b65. The MR
was not approved by anyone and still had outstanding criticisms raised
in the VDG room that were not addressed.
CCMAIL: carl@carlschwan.eu
1. This removes the grid around the items
2. The header component is now optional and the API caller can disable it
to add its own.
3. It is now using a SwipeView to provide better touch navigation
4. Use buttons to navigate to year/month/decade view instead of a non-discoverable click on the heading
5. Add some convenient functions to manipulate the view and get its state
6. Add a bit of documentation
Implements https://phabricator.kde.org/file/data/wiv5bs4ucvqnfiibxtjy/PHID-FILE-nnurs2z323lvwrjsavun/system_tray_w%E2%81%84headers_2x.png
Compensate for inset in implicit size.
Set padding to 0 if background is not present or does not have the margins property.
Use more of TextField's properties for setting the appearance.
Fix input alignment in RTL layouts.
Use colorGroup to set colors instead of deprecated properties.
Make placeholder text renderType match TextField's.
Use `clear()` instead of `text = ""`.
Use disableTextColor for placeholderTextColor.
Reduce background to 2 elements and set implicit size like most controls.
Set `anchors.rightMargin` of inlineButtonRow to `background.margins.right`.
Fix Contrastless Plasma Styles not being able to use Adaptive
Transparency by changing the check, for ContrastEffect being enabled in
the Plasma Style to instead check if AdaptiveTransparency is enabled in
the Plasma Style, for determining if Adaptive Transparency should be
available.
BUG: 434200
FIXED-IN: 5.81
Undoes the theme changes in that commit since they got pushed too
early in the Frameworks release cycle to be effectively Plasma 5.22
exclusive, saddling users on 5.21 with increased transparency all the
time with no way to turn it off. This was not the intended user
experience.
This commit will be reverted in time to be released with Frameworks 5.83,
which will align with the release of Plasma 5.22.
BUG: 434202
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)