Dialogs are always plasma-themed, and if possible are inline.
only if there is not enough space (like in a panel) they get moved in a separate window
this removes quite some c++ usage and hopefully solves some layouting problems in dialogs
make scrollbar anchor to root, so the binding doesn't break at the moment of creation when they are parentless for a moment
also, clip the flickable, not the scrollares
Any qml object that will be calles as an enum value, like Planar {} Application{}
etc will make enums inaccessible.
maintain them global, for retrocompatibility, but register them also under plasmoid
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.
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