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
Summary:
QDate from/to JS Date has unexpected results, so use QDateTime to have a
timezone assigned to prevent conversions. That way the date values are
consistent.
The behaviour got changed with Qt 5.11 (see the linked bug report) which
lead to plasma showing the wrong dates in the calendar.
BUG: 394423
Test Plan:
Tested with and without this patch on Qt 5.10.1 and 5.11.0.
Now the correct date is displayed for -0004 and +0001 timezones.
Reviewers: #plasma, #frameworks, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: ngraham, Zren, sharvey, kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D13222
Summary:
* remove unneeded cmake includes
* consistently use org.kde.plasma.* prefix for names
* fix catalog names to match applet identifier
* bump min cmake version to 3.0
* remove duplicated X-KDE-PluginInfo-Name entries
* remove no longer (Plasma >=5.8) needed i18nd in wallpaper code
* prepare qml extension for ki18n usage
Reviewers: mart
Reviewed By: mart
Subscribers: kde-frameworks-devel, apol
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D10848
Dialogs don't show up in task bar and also don't have window decoration so they're not meant to be minimized.
However, they might still be minimized by external means, such as "Minimize All" plasmoid.
In this case hide the dialog. Also, Qt restores a minimize state when showing again, rendering the dialog inaccessible.
Before showing, always unset the minimized state using new Qt 5.10 API
BUG: 381242
Differential Revision: https://phabricator.kde.org/D12876
This reverts commit 612494e2b2.
This caused a huge regression for some drivers breaking functionality
completely. Better to revert for now, and try again when we have it
fully working.
See 393241
Summary:
Remove outdated calendar.svgz from air & oxygen themes which
still contained only the Plasma4 area calendar elements, but not
the (for now single) Plasma5 one, "event".
Given none of the old elements can be reused for the new element "event",
the complete files are removed for now.
Test Plan:
Selecting Air or Oxygen themes the event markers are now shown on days in
the calendar grid widget.
Reviewers: #plasma, mart, broulik
Reviewed By: #plasma, broulik
Subscribers: #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D12680
Summary:
CalendarEvents::EventData (in KDeclarative) has a property isMinor, which is
described as "If set to true, it won't be marked in the calendar grid".
This patch fulfils that promise, by introducing separate roles on the model
which explicitly report the existance of any major or any minor events at a
given day, so that the marker loader can concentrate on the major events.
Test Plan:
Using a plasmacalendar plugin which feeds events with isMinor=true the
widget now only marks days which have major events.
Reviewers: #plasma, broulik, davidedmundson
Reviewed By: #plasma, broulik, davidedmundson
Subscribers: davidedmundson, broulik, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D12438
Summary:
Follows HIG in using verb-based name, also starting the text with the most
important objective first.
As result also consistent with default text for similar action in menu of a
normal app (when using KStandardAction).
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D12562
Otherwise the Text will never grow below its preferred height as the button grows smaller and will
eventually leak outside at the bottom rather than stay centered.
BUG: 393388
Differential Revision: https://phabricator.kde.org/D12518
Summary:
Dropping some item onto a containment results in a menu which lists widgets
and wallpaper plugins without explicitly telling what will happen onto
activation.
Changing the menu entries into "Add widget" and "Set wallpaper" makes it
more obvious what they will result in.
Reviewers: #vdg, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: ngraham, #frameworks
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D12247