This adds the necessary bits, actions handling, showing / hiding of
toolbox and a hooks for config interface and add widgets.
The interesting bits:
Toolbox separate on the scene
For declarative containments, we add a declarativewidget on top of the
view which loads the "org.kde.toolbox" package. The toolbox can differ
per platform, layout of toolbox and containment can not "leak" into each
other.
ToolBox import
The most important and interesting bit is the list of actions the
ToolBox exposes, it's collected from corona, containment. The latter is
actually problematic, since we don't get access to the actions
internally provided by Containment
(ContainmentPrivate::addDefaultActions).
Containment::setToolBox(AbstractToolBox) being protected, we cannot
register our declarative ToolBoxProxy implementation to the containment,
so we have to wire up settings and addwidgets separately. Sorting of the
actions is "random", and expected to be done by the QML toolbox
implementation, based on objectName strings.
REVIEW:107232
setElementPrefix does not trigger repaintNeeded() from the svg object;
repaintNeeded() is for internal changes. if you change the svg from your
own application code, the app code needs to react to those changes in its
own time and way.
so margins was never seeing that it was getting changed when setElementPrefix
was called -> pixel imperfections in layouts.
Conflicts:
kdecore/services/kmimeglobsfileparser.cpp [whole file is gone]
kdecore/sycoca/kprotocolinfo.cpp [rewritten in kio; hand-merged]
kdeui/widgets/kmainwindow.cpp [geometry handling, code is gone]
kfile/kfileplacesitem.cpp
kio/kio/kfileitem.cpp [tons of kurl/qmimetype differences for the big if(!d) patch]
kio/tests/kfileitemtest.cpp [kurl]
plasma/private/applethandle.cpp [namespace]
plasma/runnermanager.cpp
staging/kservice/src/services/kservicetypetrader.h [i18n]
Signal/slot signatures were wrong. Correctly forward the screenChanged
signal. This removes the following warning for me when running a QML
containment in plasmoidviewer:
Object::connect: No such slot ContainmentInterface::screenChanged() in
/home/sebas/kdesvn/src/kde/kde-runtime/plasma/scriptengines/javascript/plasmoid/appletinterface.cpp:605
REVIEW:106936
This kills plus 96c8478aef two ReferenceErrors I'm seeing when using
ListItems inside VisualItemModels (in this case, there's no view and
visual parent attached on creation).
REVIEW:106937
This adds a class to manipulate applets in more detail in context of
containments. The type will only be available from Containments, not
Applets or PopupApplets.
This binds the necessary functionality of Applets to build fully
features containments. The code has been moved from MobileComponents,
untangling another piece there and putting the functionality where
it belongs, into the specific component type bindings to allow this
functionality also outside of plasma-mobile and further reduce the
delta between the shell implementations.
REVIEW:106817