I was looking into why there is so much time spent here for the logout
greeter that only has buttons. It seems like we were querying the cache
file every time even though we already have separate code that checks
whether our information is valid.
As I started looking into it, ::loadImageFromCache was %25 of the CPU
time. After this patch it's short of 1%.
Task: https://phabricator.kde.org/T14302
The explicit version checks are not needed anymore, the plugins are
installed into a specific namespace for each major version. Also the
plasma-frameworks API is stable during the lifetime of a major version.
In **general**, variables in `if()` commands should not be expanded
"by hand" before use, because substitution occurs before the `if()`
command is parsed: in practice that means that a command like
if(${A} STREQUAL "A")
can expand to (depending on the value of A being empty, "B" or "A")
if( STREQUAL "A")
if(B STREQUAL "A")
if(A STREQUAL "A")
Then the `if()` command is processed, leading to:
- a syntax error
- comparing the value of variable B against string "A"
- comparing the value of variable A (it's "A" because that
is what `${A}` expanded to) against string "A"
This is explained in section *Variable Expansion* of the documentation
of the `if()` command, but keeps tripping people up.
The K_EXPORT_PLASMA_DATAENGINE_WITH_JSON expects a JSON file. But
considering that nobody complained about this and it has been broken for
years we can get rid of it.
The mechanism was used to make those files accessible to
KServiceTypeTrader, but that is not used anymore by KPackage.
KPackage can already handle JSON files for all its functionality,
consequently there is no reason to enforce having desktop files.
It messes with QtQuick Layouts in various ways and experience from
PlasmaComponents 2 has shown that giving `Label` any kind of explicit
size is just asking for trouble.
This reverts commit a4e4156a47.
And simplify code:
* Add constant for the max number of events that can be displayed at the
same time
* Use std::min to simplify a bit the code
* Rename nextIndex to addedEventCount
Use FindOpenGL from CMake upstream which finds both OpenGL and EGL.
Fix linking by using OpenGL::GLX (instead of ${OPENGL_gl_LIBRARY} which is
set to an empty string when GLVND is used). Thanks to Ömer Fadıl Usta for
mentioning that in https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/264
NO_CHANGELOG
add a translucent version of the standard widget background, which
provides an opacity mask. the applet container in the desktop
will put a blurred wallpaper behind the widget background in this case.
being in translucent/ this blurred background will be enabled only when also the blurbehind kwin effect is enabled, so on low spec hardware this will be disabled as well
This code was trying to filter out the configure action but failing
because it was comparing a QMenuItem to a QAction. We need to compare
the QMenuItem's internal QAction in order for the configure action to
ever match.
Companion to 827afc3fc276d0d73b4e4d2f08e26c24a3e6ea71 in
plasma-workspace.
Bug is probably caused by using a DelegateModel on a simple ListModel.
Make sure we don't even try to load the event delegate when there is no
events or it's not a DayModel
BUG: 436999
QAction::trigger does not check enablement. File manager's undo action
gets enabled/disabled depending on whether we have anything to undo.
If we unconditionally invoke the method we can crash.
As an aside, the comment about QQuickItem and shortcut looks very
outdated.
When using a non-integer baseLine, the height can be non-integer, resulting
in non-exact pixel alignments which generate artifacts on the screen.
This happened in Kickoff's LeaveView in Plasma 5.18 (currently used in
openSUSE Leap 15.3) where the focus outline was painted with a different
width in the top and bottom borders due to this pixel misalignment.
--when an applet is updating its constraintHints
a signal must be triggered in order for everyone
to be informed. This way applets we can support
applets that update their constraintHints dynamically or
based on user demand.
Typically ExpandableListItem expands when you click on it or its
expander arrow, and shows a list of contextual actions. However there
may occasionally arise cirsumstances under which an item has no actions.
An example would be in the Disks & Devices applet when a device doesn't
match any of the Solid predicates and therefore gets no contextual
actions. In this case, we should hide the expander arrow and now let the
user try to expand it, because there would just be a little empty list
stub.
This reverts commit 3701b184d8 and allows
the new higher Plasma transparancy to be shipped with Frameworks 5.83,
right around the same time when Plasma 5.22 will be released.
This commit replaces the existing triangular event indicator on calendar
days with colored dots; one per event, up to five events per day. The dots
will use the color of the event, if it has one.