Summary:
Appmenu quite neatly has a config option for which should be the
preferred representation, which is needed as both things are quite
viable in a panel and can't be done automatically.
AppletQuickItem needs to update which representation to use when this is
set at runtime. We already check on every single geometry change, so
one extra check won't have a huge impact.
Test Plan:
Appmenu changes dynamically
All other applets (both compact and normal) still seem fine
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3794
Now that we can have C++ applet we can make use of setLaunchErrorMessage
to communicate a fatal error in the applet initialization.
Differential Revision: https://phabricator.kde.org/D3725
The launcher applets couldn't be closed with Meta alone and on Wayland
in general by any global shortcut, since we used for that the focusOutEvent
triggered only on X and only on global shortcuts (on default Alt+F1).
This patch introduces the new bool activationTogglesExpanded, which allowes
QML applets to decide if they wish to use the activated signal also to end
their expanded state.
The default value is false, in order to not break any legacy applets.
REVIEW: 129204
BUG: 367685
Even though QQuickItem only has a width and height accessor there is a
usable public setSize method.
This gets rid of a lot of potential re-evaluation as internal geometry
is updated before widthChanged is emitted.
REVIEW: 128316
Makes it possible for plasmoids to test themselves in the different shells
by providing API to extract the object that will test the plasmoid
instance.
REVIEW: 127345
this list was done because some applets broke with
the new shared engine stuff.
since it's many workspace releases ago, unconditionally
use the single engine now.
REVIEW:126918
When debugging the linked bug, it looks like when item's geometry change
eg. from 0x0 to 100x100, geometryChanged may be called twice, first with 100x0
and then finally with 100x100.
This was not issue before, because we used timer to call compactRepresentationCheck.
This changes compactRepresentationCheck so that it early returns also when just
one part of item's size is zero.
Fixes regression from 344dbeb938
REVIEW: 126778
BUG: 358039
the CompactApplet file from the shell package
defines the behavior of the poopup applets in
the panel (it implements an internal dialog
and all that jazz)
implementing a simplified systray(both the one
for the phone and a separate one for the desktop),
i noticed that a containment may have different
ideas on how to expand an applet: the systray would
have for instance a single popup dialog and put all
of its applet full representtions in the same Dialog,
this lets containment representation to override
that file (*if* won't get abused, that's the only
thing makes me a bit on the fence about this)
It would make possible also fairly different designs
that have been proposed in the past, such as the bug
sidebar similar to the "charm bar"
Have to keep an eye opened if having the file list
changing with the path may be an issue, but
shouldn't as ChangeableMainScript already does
something similar.
Change-Id: I1c7fda55d6829d3a67f511c91822b131dea85ac1
REVIEW:126244
When loading an applet which does not exist, we create a dummy applet
which just contains the error message. This dummy does not have a valid
KPluginInfo, and using an invalid KPluginInfo causes as assert to be
hit.
Reviewed-By: Marco and Sebas
an attempt at transition without having to litter all
the metadata files: whitelist for now the applets in which
use the separate engine: when they have a version number
greater than 3 (arbitrary) switch over to shared engine
Change-Id: I354638527923734722bfcb0810703e20e32372d1
I've been trying to figure out why there's so many qml scripts which errors always specify "<Unknown Files>".
This patch is not ideal, but improves the situation slightly.
REVIEW: 123575
it has a couple of big problems
Plasmoid attached property (should be easily fixable)
url interceptor (more tricky)
Change-Id: Ie75dfa97e097f43e8e5778f9b47fdff29224e5fc
if X-Plasma-RootPath is set, use that instead of the plugin name as
default translation domain.
if an applet uses the package of another one, of course it has to use its
translation catalog as well
Change-Id: Ia23b261f449a560c3da19bc074e521139ae942c8
reviewed-by:Eike Hein <hein@kde.org>
different themes between QtControl themes in applets
and in config dialogs: this allows QtQuickControls
to be freely usable in applets without worrying how they
will integrate
Change-Id: I696bdcbd78eb2e4df708367ac0d70d13c5d6cf12
If d->applet->package().isValid(), then d->qmlObject->mainComponent()
is null.
This makes Plasma crash when a faulty plasmoid is loaded.
REVIEW: 120581
AppletQuickItemPrivate::compactRepresentationCheck() must not be executed before
the qml parse is over and rootObject is here: the creation of the full or compact representation
would go very wrong in that case
Change-Id: Ib72f7d25f570a1ae34ada3330080350384d5c1e8
CCBUG:339329
The popup dialog can currently never be resized, so it doesn't make
sense to record its height in a config file. Additionally, this also
causes problems when applet writers change the size of their plasmoid.
Since the old size is saved in the config file, it is shown with the old
dimensions instead of the new ones.
REVIEW: 118849
BUG: 336070
It was returning QObjects on most places and it didn't make much sense
since since it was just expecting the API users to qobject_cast to
QQuickItem to do anything with these. Considering that fullRepresentation
can be anything other than a graphic item doesn't sound good anyway.