this avoids a qml type resolution recurtion which can
in some cases stuck the component to loading forever
this was particularly visible in plasma mobile
On plasmashell shutdown when the panels are destroyed, the available screen geometry changes.
When an applet then accesses screenGeometry in response to that change, it crashes because the corona is already gone.
availableScreenRegion() and availableScreenRect() already checked for this but screenGeometry() did not
Differential Revision: https://phabricator.kde.org/D20244
Dialog has this clever way of re-sending a mouse event inside the bounardies of the dialog,
so despite visual padding, the items can be clicked on any corner following Fitt's law.
However, when the mainItem has no size, adjusting the position will adjust it inside the border
since there is no pixel inside the main item, leading to infinite recursion as the event is
processed again and again and again leading to a crash.
Differential Revision: https://phabricator.kde.org/D20200
It casted the QAction to a MenuItem which fails because it isn't such.
Instead, manually find the item with the corresponding action.
Differential Revision: https://phabricator.kde.org/D20199
Uses the one from ColorScope rather than Kirigami.
Kirigami.Theme isn't used in any other Plasma Components 3 and the opacity already changes for when it's disabled
Differential Revision: https://phabricator.kde.org/D20070
Summary:
Running anything else in parallel to this test would make it fail,
because windowAdded() would be emitted with an unrelated window.
If we couldn't find our dialog when the signal is emitted,
just keep waiting for the signal to be emitted again.
Test Plan: ctest -j 8 .
Reviewers: hein, drosca, broulik, davidedmundson, jtamate
Reviewed By: jtamate
Subscribers: jtamate, kde-frameworks-devel, #plasma
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14724
Summary:
FrameSvg updates the margins e.g. on a Theme change already in its
internal event handling before the methods of FrameSvgItem are invoked.
Due to that CheckMarginsChange guards before this change could not detect
any changes, and thus missed to trigger an update via the margin objects
to the QtQuick world.
So when changing the theme e.g. in a Plasma shell or in the Plasma Theme
Explorer, existing FrameSvg items are using outdated margins, resulting
in broken display.
By keeping a copy of the last seen margins as part of the item and not only
per method, changes outside the FrameSvgItem items can be properly detected.
Test Plan:
Switch Plasma themes between Air, Breeze & Oxygen, see how different margins
are reflected in the widgets sizes instantly.
Switch Plasma themes in the Plasma Theme Explorer, with "Show Margins"
enabled, see how margins are always correctly updated intead of taking the
value of the last theme used.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19743
Summary:
Allows themes to disable the blurring of what is behind panels,
if they either do not need it (being fully opaque) or by design want
non-blurry transparency.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19907
Summary:
The old logic results in broken rendering if the sample was bigger than the
area to render, due to normalized texture rect being 0 in the respective
dimansion. As well as stretched mapping of the sample for fractional
relationships between the area to render and the sample size.
Test Plan:
Borders of backgrounds of FluffyBunny theme render properly, no other
regressions seen (but unsure what else might rely on that artifact).
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: apol, sitter, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19787
Summary:
style elements without type="text/css" were ignored before, but now they act as
if type was set. Set id and style properly to restore the working behaviour.
BUG: 405548
Test Plan:
Installed new files on a system with Qt 5.12.2, wiped the SVG cache
and it looks fine again.
Reviewers: #plasma, rooty
Reviewed By: rooty
Subscribers: acooligan, filipf, heikobecker, falqueto, rooty, Zren, arojas, rikmills, asturmlechner, kde-frameworks-devel, plasma-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19821
When changing an IconItem from using a local image (e.g. PNG file) to using a Plasma themed icon,
the implicit size wasn't updated since the old image was still loaded in m_imageIcon.
Clearing it when clearing the other icon stores fixes this.
BUG: 405298
Differential Revision: https://phabricator.kde.org/D19674
Summary:
as the implicit height could change when switching to password mode,
use a textmetrics which always computes it from the visible text
BUG:399155
Test Plan: height doesn't change
Reviewers: #plasma, ngraham, rooty
Reviewed By: ngraham, rooty
Subscribers: sitter, rooty, ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19599
Plasma Dialog used to change the item's visiblity but this is no longer the case, so it would animate when a window is shown and
the source has changed in the meantime.
Differential Revision: https://phabricator.kde.org/D19421
Summary: Currently it just fails silently.
Test Plan: Loaded a plasmoid with an incompatible plugin, warning is shown.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: kde-frameworks-devel, plasma-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19394
Summary: This patch adds new icons for the action buttons modified/added in D18893, and gives the suspend hibernate and switch user icons a makeover.
Test Plan:
{F6621871}
Other..: {F6621331} {F6621867}
List Users: {F6615519} {F6621869}
Reviewers: #vdg, #plasma, ngraham, abetts
Reviewed By: #vdg, ngraham
Subscribers: filipf, trickyricky26, ndavis, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D19020
Summary:
The old style was weird. When the screen edge feature was enabled for the sides of screens, it looked like a bunch of dots smooshed together. Now it's one smooth bar.
BUG: 391343
FIXED-IN: 5.56
Test Plan:
Before {F6599392} {F6599445, size=full}
After {F6599389} {F6599444, size=full}
Reviewers: #vdg, rooty
Reviewed By: rooty
Subscribers: rooty, rapiteanu, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D18834
When a theme doesn't supply background contrast values, we take an educated guess based on whether it's a dark or light theme.
We didn't update the values when switching only color schemes at runtime (when theme follows it).
This lead to washed out Plasma popup and panel backgrounds. Instead, compute the fallback value at runtime.
Also, while at it, update complimentary colorscheme as well, which was forgotten here.
BUG: 401142
Differential Revision: https://phabricator.kde.org/D18487
Summary:
This patch aims to make the corners of the dialog/notification backgrounds (dialogs/background.svgz) more rounded and more in keeping
with the Breeze window decoration theme.
Test Plan:
Before: {F6568854}
After: {F6568855}
Before (Breeze Dark, no //Background contrast effect//): {F6569235}
After (Breeze Dark, no //Background contrast effect//): {F6569236}
Using the Background Contrast Kwin effect adds a weird dark background to all the dialogs and the corners aren't rounded anymore:
{F6568856} and these strange dots appear instead (a rectangle bleeding through?)
{F6568352}
Reviewers: #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: zzag, davidedmundson, Codezela, filipf, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D18545