The mainItem is now a Component, which gets created on demand and passed
to the tooltip dialog.
Positioning is a bit off now, but it basically seems to work as we'd
like it to.
Let's try to share more code with dialog -- especially sizing, frame
painting and positioning with dialog. This means a bit of rewiring, but
should result in more lazy-loaded, shared objects.
The idea is to have at most one window, which is recycled for all
tooltips, making it possible to animate transitions.
This implementation deviates a bit from the Plasma 1 tooltips:
- image is now a string
- tooltips align to the parent by default, or the visualParent set
Otherwise, the changes should be fairly transparant.
A crude basic featureset works.
ToolTipProxy is now a QQuickWindow and renamed to ToolTipWindow.
This is done in C++.
ToolTip itself is a QML file, which internally uses tooltipwindow to
display the attached item.
Basic showing / hiding and embedding an Item works, positioning,
margins, etc are not implemented yet. Neither are special windowmanager
hints and flags.
In MenuItem, we can't inherit QAction anymore (our MenuItem has to be a
QQuickItem), so we need to aggregate, which means adding glue API.
Positioning code is disabled, icons broken, but a QMenu with our items
inside shows up and is works.
This patch changes the version numbers of the plugins to 2.0. This
includes the previously 0.1 plasmacomponents, extras and
qtextracomponents. DragandDrop, which was at 1.0 is now also at 2.0.
Also, all the QML code has been changed to import the 2.0 plugins.
As a side-effect, we now share a version number with QtQuick 2.0 now.
- events need to be accepted, otherwise they don't have effect on the
drag, and it doesn't get released
- slightly more intelligent starting of drag, saves quite some cycles
and is way more correct this way
The "attach pixmap of dragged item" is still disabled. This probably
needs to be rethought entirely. One option would be to ditch this class
in favour of QtQuick 2's Drag, DragEvent and DropArea. Food for API
discussion.