Introduction and PhononQt5 porting

Jon Severinsson jon at severinsson.net
Sat Oct 6 18:12:05 UTC 2012


Hi everyone

I recently got some time to spare (nut much, but a few hours a week), and
rather than getting a life I decided to try to help out with the Kde
Frameworks 5 cleanup. I must admit I have never coded KDE before, though I am
a long-time KDE SC user (since KDE 3.4.x) and Qt developer (since Qt 4.2).

In trying to get the frameworks branch to compile with my qt5.git environment
I found that there was a problem with the phonon dependency. While several
places conditions phonon support on NOT QT5_BUILD, several other places has a
hard dependancy on it, and phonon was not yet ported to Qt5.

So, I decided to give porting it a go, and I think I have gotten quite far for
a single day's work. I've based the work on the phonon.git branch "five", but
merged "master" in it. So far I have only compile-tested it (as I have no
ported backend and no kf5 application up and running yet), but that works, so
I have pushed it to github [1].

[1] https://github.com/jonseverinsson/phonon

The master branch contains three commits that I needed for Qt5, but which I
think would be beneficial for Phonon 4.7 as well, while the five branch contains
my Qt5 work (based on a merge of the official five branch and my master branch).
Shortlogs and diffstats attached below, pathches will follow.

I sincerely hope this work is usefull. As this is my first serious KDE code work, I would love some if someone would look through the patches and tell me what I did wrong ;-)

Best Regards
Jon «Jonno» Severinsson

==== master ====

Jon Severinsson (3):
      Port from QAbstractItemModel::reset() to QAbstractItemModel::(begin|end)ResetModel().
      Don't use the unsafe QAtomicPointer accessors in PHONON_GLOBAL_STATIC_WITH_ARGS.
      Fix build without OpenGL.

 CMakeLists.txt                              |    3 ---
 phonon/CMakeLists.txt                       |   42 +++++++++++++++++++++++++++++-------------
 phonon/globalstatic_p.h                     |    8 +++-----
 phonon/graphicsview/CMakeLists.txt          |   23 -----------------------
 phonon/graphicsview/videographicsobject.cpp |   11 ++++++++++-
 phonon/objectdescriptionmodel.cpp           |    3 ++-
 phonon/objectdescriptionmodel_p.h           |    3 ++-
 7 filer ändrade, 46 tillägg(+), 47 borttagningar(-)

==== five ====

Jon Severinsson (9):
      Remove remnants of old dbus code.
      Remove remnants of old experimental code.
      Always use cmake's internal automoc support.
      Migrate to Qt5Transitional.cmake in order to support both Qt4 and Qt5.
      Update FindPhononInternal.cmake compiler specific settings with FindKDE4Internal.cmake changes from the kde framewoeks branch.
      When building against Qt5, use qmake to detect Qt installation paths.
      Fix ObjectDescriptionModel<*>::staticMetaObject initialization on Qt5.
      Replace #include <QtGui/QGraphicsObject> with just #include <QGraphicsObject>
      Remove QFSFileEngine useage.

 CMakeLists.txt                                            |   24 ++++++---
 Mainpage.dox                                              |    2 +-
 PhononConfig.cmake.in                                     |   16 +-----
 cmake/CMakeLists.txt                                      |    1 -
 cmake/FindAutomoc4.cmake                                  |   56 ---------------------
 cmake/FindPhononInternal.cmake                            |  179 +++++++++++++++++++++++++++++++++----------------------------------
 demos/metadatareader/CMakeLists.txt                       |   11 +++--
 demos/phota/CMakeLists.txt                                |   11 +++--
 demos/simplecapture/CMakeLists.txt                        |   11 +++--
 demos/simpleplayer/CMakeLists.txt                         |   11 +++--
 doc/CMakeLists.txt                                        |    1 -
 includes/CMakeLists.txt                                   |   14 ------
 includes/old/Phonon/Experimental/AbstractVideoDataOutput  |    1 -
 includes/old/Phonon/Experimental/AudioDataOutput          |    1 -
 includes/old/Phonon/Experimental/SnapshotInterface        |    1 -
 includes/old/Phonon/Experimental/VideoDataOutput          |    1 -
 includes/old/Phonon/Experimental/VideoDataOutputInterface |    1 -
 includes/old/Phonon/Experimental/VideoFrame               |    1 -
 includes/old/Phonon/Experimental/VideoFrame2              |    1 -
 includes/old/Phonon/Experimental/Visualization            |    1 -
 includes/phonon/AvCapture                                 |    1 -
 lib-descriptor.xml.cmake                                  |    1 -
 phonon.pc.cmake                                           |    2 +-
 phonon/abstractvideooutput.h                              |    8 ---
 phonon/backendcapabilities.h                              |    2 -
 phonon/graphicsview/videographicsobject.h                 |    2 +-
 phonon/mediasource.cpp                                    |    6 +--
 phonon/objectdescriptionmodel.cpp                         |   43 +++++++++++-----
 phonon/phononnamespace.cpp                                |    3 --
 phonon/phononnamespace.h.in                               |    1 -
 30 filer ändrade, 166 tillägg(+), 248 borttagningar(-)



More information about the Kde-frameworks-devel mailing list