Summary:
support button icons.
if there is no icon or is Qt 5.9, the iconItem will stay invisible
Test Plan: tested with ported mediacontroller to PlasmaComponents3
Reviewers: #plasma
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D15164
Otherwise when the week starts on a day other than Sunday or Monday we access invalid day names.
CHANGELOG: Fixed week names not showing properly in calendar when week starts with a day other than Monday or Sunday
BUG: 390330
Differential Revision: https://phabricator.kde.org/D15309
Summary:
On Wayland, DialogShadows doesn't attach empty tiles for disabled
borders. Yet, it sets offset of 1 for them. This results in visual
artifacts like this
{F6206088, layout=center, size=full}
//KWin thinks that there is 1px tall shadow in the bottom.//
In general we don't need to pass empty shadow tiles for disabled
borders. Thus, that's fine to set 0 offset for them.
Test Plan:
* Started kwin_wayland:
dbus-launch kwin_wayland --windowed --xwayland
* Launched latte-dock and kate:
unset DISPLAY
QT_QPA_PLATFORM=wayland latte-dock &
QT_QPA_PLATFORM=wayland kate
* Opened calendar popup:
{F6206090, layout=center, size=full}
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14946
Summary:
Problem is identified in https://bugreports.qt.io/browse/QTBUG-70138
with a potential patch for upstream.
With native rendering the alpha is pointlessly also set in the
glBlendFunc despite also being used in the uniform of the shader.
Resulting in a visual bug when used on a window with alpha (such as
Dialog)
It sucks, but we were starting to see people work round it by copying
more invasive workarounds everywhere else which I want to avoid.
BUG: 396813
Test Plan: Looked at a text field
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: ngraham, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D15021
QIcon is rendered through KIconLoader instead of e.g. Plasma::Svg.
This means we need to recreate the pixmap when the icon theme changes.
CCBUG: 397109
Differential Revision: https://phabricator.kde.org/D14990
Turns out this icon had a hardcoded color in it which wasn't the case for the
full size icon used on my high dpi system.
Thanks Sandro Knauß for helping investigate this
BUG: 397441
Summary: This patch makes the text for removal and configuration actions consistent with one another.
Test Plan: {F6191533}
Reviewers: #plasma, #vdg, abetts
Reviewed By: #plasma, #vdg, abetts
Subscribers: abetts, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14810
This way tests pass before installation.
Test Plan:
Before patch
Created a broken env by unsetting QML2_IMPORT_PATH
Ran test. It failed
It passes.
Reviewers: #plasma, dfaure
Reviewed By: dfaure
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14743
Summary:
mirroring the behavior when the applet is created by restorecontents,
invalid applets get immediately uireadyconstraint.
This solves the problem of panels not appearing when the setup js contains an non existent applet,
as the panel was waiting forever for applets to finish loading, which never happens
Test Plan: now js startup scripts with an invalid applet have panels loading correctly.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D14341
Similar to KPackage's cache this speeds up startup where plugins are repeatedly looked up.
Especially the fallback path of looking in the plugin root directly causes quite some slowdown.
Differential Revision: https://phabricator.kde.org/D14009
source and target were swapped in both the QSGNode::updateState/bind
and in the fragment shader.
When Atlas support was added, the texture position was put the right way
round; which made things backwards so source/target also got swapped
instead of fixed properly.
But this leads a glitch if one texture was in the atlas and one
wasn't (not common)
This puts everything the right way round again.
Reviewed-by: Kai Broulik
Allows disabling all containment actions, such as context menus, middle click paste, wheel desktop switch, etc.
Differential Revision: https://phabricator.kde.org/D14045
Summary:
A FrameSvg can have wrong mask frame if image path has been changed after
the mask frame was generated. Take image path into account when deciding
whether the mask frame should be updated to address that problem.
Depends on D13384
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13496
Summary:
When trying to update the maskFrame, there is a chance that it is already
shared by several instances of FrameSvg. In that case, do not wreck maskFrame
and instead act as follows:
* deref it
* try to lookup a matching frame in the shared frames
* if there is the matching frame, use it
* otherwise create a new one
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: mart, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13384
Summary:
In some cases, when rendering frame svg background, measures & margins
do not correspond to `enabledBorders`. I.e. `bottomHeight` may be equal to 5,
but the bottom border is disabled. This causes visual artifacts like this
{F5878318, layout=center, size=full}
//Pay close attention to the bottom of the Task switcher. It has a transparent strip at the bottom, which shouldn't be there.//
The cause of this problem is that FrameSVGPrivate::alphaMask doesn't take enabledBorders
into account when it's making decision whether it should update maskFrame.
Just for reference, this is "after"
{F5878319, layout=center, size=full}
BUG: 382324
BUG: 390632
BUG: 391659
Test Plan:
* Triggered the Breeze task switcher (with compositing on and off)
* Didn't see any transparent strips
---
* Tried running FrameSvgTest, still passes
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: abetts, mart, aseigo, broulik, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13215
Summary:
FrameSVG documentation states
> ... topleft and topright will be ignored if top does not exist,
> and similarly for bottomleft and bottomright ...
Someone would assume that the same behaviour applies to the case
when left(or right) does not exist.
This change makes FrameSVG to comply with such expected behaviour.
### Before
{F5878439, layout=center, size=full}
The bottom border doesn't exist so the bottom-right corner should not
be drawn.
### After
{F5878440, layout=center, size=full}
Reviewers: #plasma, #frameworks, mart
Reviewed By: #plasma, mart
Subscribers: mart, kde-frameworks-devel
Tags: #frameworks, #plasma
Differential Revision: https://phabricator.kde.org/D13218
Summary:
To explicitly confine Task Manager drops to Plasma and avoid accidental
drops on other apps, D13274 makes it store task launcher URLs in a special
internal MIME type instead of the generic text/url one. This change to
processMimeData() adds the necessary conversion back.
Reviewers: davidedmundson, Zren, mart
Subscribers: kde-frameworks-devel, plasma-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13275
Summary:
There is no need to check whether `cachedBackground` is null, and if
it's null, return a null pixmap.
Reviewers: #plasma, #frameworks, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13287