Commit graph

16 commits

Author SHA1 Message Date
Martin Gräßlin
f5c305bf64 Do not include kdecoration.h in plastik decoration plugin 2014-12-02 10:15:04 +01:00
Martin Gräßlin
4188736bc4 Stop building libkdecorations
Some defines are still used, so it's not yet deleted.
2014-12-02 09:58:29 +01:00
Martin Gräßlin
5c3cd6f4bc Initial port of Aurorae to KDecoration2
The port to KDecoration2 means quite some changes in the way how Aurorae
works. First of all: the theme to load is passed to the Deocoration ctor
and not searched for by Aurorae itself.

The rendering mechanismn didn't change significantly yet. It's still
rendering to an FBO and passing the image on. This needs some further
work as KDecoration2 does not support the padding any more. So all
themes using shadow are currently broken.

Another big change is the way how the rendering scene is constructed
and used. KDecoration2 doesn't want the the Decoration to be a native
window. But for being able to render a QtQuick scene at all we need a
QQuickWindow. Thus it creates a window parented to the decoration id,
but not accepting any input event. Input is nowadays controlled from
the outside: events are passed into the Decoration, so we don't want
the QtQuick window intercepting events.

In case of non-composited the normal FBO mechanism doesn't work and
Aurorae just renders to the QQuickWindow directly. This could use
some optimization in the decoration renderer in KWin core to not even
try to perform the normal rendering. On the other hand it's probably
too much a hassle for the use case.

The rendering architecture might hopefully be improved with Qt 5.4
and the new QQuickRenderControl class.

The QQuickWindow also exposes a problem for preview in the
kdecoration-viewer and the future KCM: we don't want a different
window, but best would be to get to the QML scene directly. A small
hack is added to have the previewers set a "visualParent" which Aurorae
uses to parent the QML scene to without the need to create a
QQuickWindow.
2014-10-24 13:48:31 +02:00
Aleix Pol
c72e519d9c Remove KDE/ prefix in include directories
It's unneeded and deprecated since KF5.
2014-03-17 16:24:10 +01:00
Aleix Pol
e995a9d76f Remove qt4_automoc calls
They're not needed anymore, and break my build directory from time to time.
If this commit breaks your compilation, clean your build directory (or at
least the plasma and kwin subdirectories).
2014-01-07 15:29:44 +01:00
Martin Klapetek
54bc491c46 Port to KF5 renaming changes 2013-12-11 21:41:47 +01:00
Martin Gräßlin
73e0a6586c [aurorae] Use enum type for Decoration Buttons
Defines the DecorationButton type in DecorationOptions (needs to be
re-defined due to QML limitations) and exports the buttons as a
QList<int> property (again QML limitations).

All QML files are switched from string to the new enum type.
2013-11-14 09:41:52 +01:00
Martin Gräßlin
8055cde910 [aurorae] Plastik theme transits to QtQuick 2 2013-10-01 14:05:58 +02:00
Martin Gräßlin
84a2f3020b Use Qt5:: in target link libraries in KWin 2013-08-20 09:14:24 +02:00
Martin Gräßlin
5ca6654eb8 Fix linking
KDEUI is dead which caused collateral damage.
2013-08-20 08:47:47 +02:00
Rohan Garg
7ab317095d explicitly compare latin1 strings in qassert (fixes build with debugfull) 2013-08-07 14:10:45 +05:30
Alex Richardson
4d10921548 fix build by including moc_plastikplugin.cpp, not plastikplugin.moc 2013-08-06 23:07:30 +02:00
Martin Gräßlin
f924be909b Fix no cast from ASCII in Aurorae 2013-07-25 18:04:27 +02:00
Martin Gräßlin
e7f76f8736 Use Q_PLUGIN_METADATA for Aurorae's deco QML plugins 2013-07-25 18:00:27 +02:00
Martin Gräßlin
54479225a3 Application Menu button support for Plastik
New icon with three lines similar to the one used in Oxygen is added
for application menu support.

REVIEW: 107937
2013-01-07 09:46:33 +01:00
Martin Gräßlin
459da3ea44 Port of Plastik decoration to QML
The Plastik decoration buttons are provided by a declarative
extension plugin as the canvas drawing API would be needed to
draw these buttons. This should be changed with Qt 5.

But it's also a nice example to show how a QML based decoration
can have an extension in C++.
2012-08-26 20:56:19 +02:00