This removes the last dependency from plasma-framework on kde4support.
This change is a bit more involved than other kde4support removals because
QSharedPointer does not provide a count() method. I therefore reworked the code
to store the SharedSvgRenderer as a QWeakPointer in s_renderers, making it
possible to detect when the last one goes away by creating a QWeakPointer guard
in SvgPrivate::eraseRenderer().
REVIEW: 114912
Stop using classes from kde4support:
- KComponentData is deprecated, it will be using QCoreApplication::
applicationName() and QCoreApplication::applicationVersion(). Of course,
this means that the existing shells will have to be ported. I have no
problem with doing that port myself, if I'm told where to look into.
- Drop usage of KLocale, ported to QLocale
- Drop usage of KStandardDirs, ported to QStandardPaths
- Drop usage of KIcon, ported to QIcon
Furthermore, there's a module in src/declarativeimports/locale that IIUC
exposes KLocale bindings to QML. A specific plan to port it should happen
as well.
REVIEW: 113920
There's no need to make all the framework look for the QCA includes while
they're only being used by the remote part. It could possibly be made more
specific, but I don't think those are yet being used anyway.
Removes the find_package(Qt5Transitional) and does the proper
find_package(Qt5) with the list of modules.
Most of the porting is about using the Qt5:: targets.
REVIEW: 113345
New qquick item in PlasmaCore to render a live updating window
thumbnail. The implementation uses XCB to redirect the specified
window using the composite extension. This means a running compositor
is not required. Through the damage extension the item tracks changes
to the window and triggers updates of the texture. Furthermore the
item tracks geometry changes of the window to recreate the window
pixmap.
If the pixmap of the window is valid, a texture is generated from it
using the glx texture from pixmap extension. For this a new optional
dependency for glx is added. On platform where glx is not available
(e.g. Windows, Linux with OpenGL ES) this will not get compiled and
the window's icon is used instead as a fallback.
REVIEW: 112142
Uses the new components syntax of FindXCB. So far plasma frameworks
only need the XCB component and that one is optional just like XLib.
The find xcb is moved to the toplevel CMakeLists.txt together with
the find x11 and HAVE_X11 gets set only if both X11 and XCB are found.
REVIEW: 112499
plasma-frameworks doesn't seem to build with 2.8.10.1:
qt5/include/QtCore/qglobal.h:975:4: error: #error "You must build your code with position independent code if Qt was built with -reduce-relocations. " "Compile your code with -fPIC or -fPIE."
This is most probably related to all the target-property related work from Stephen in CMake 2.8.11.
Alex
Those components are required by some libraries. It seems to me that
this should be fixed elsewhere, but also it's not acceptable to have
modules that aren't compiling.
This reverts commit 7c5e2e49ae.
In KF5, C++11 is not to be assumed on all our platforms. So don't force
it from cmake. That said we have to make sure our code builds in both
case (C++11 available or not). I'll get in touch with the build.kde.org
admins to sort that out.
CCMAIL: ivan.cukic@kde.org
- Installs PlasmaConfig, FindPlasma, PlasmaMacros, etc.
- find_package Plasma works
- version set to 2.0.0, do we dare that?
This might bump into FindPlasma.cmake, which is installed by kdelibs,
and should be removed: it applies to Plasma 4.1 only and bails out,
since after that, we used the KDE4 libs find_package foo. Now we're kind
of going back to pre-4.2 times. :-)
Make it possible to install any type into any path prefix. We just add
an optional argument to also specify the type, so from now on installed
service files will not all be plasma-applet-<pluginname>.desktop, but
for example plasma-wallpaper-<pluginname>.desktop.
CCMAIL:plasma-devel@kde.org