Notes on porting to Qt5

Mario Fux KDE ML kde-ml at unormal.org
Mon Jul 29 14:59:12 BST 2013


Am Montag 29 Juli 2013, 12.12:09 schrieb Boudewijn Rempt:

Morning Boud and Co

Great to read what you're planning for the coming months. And the question 
below is just for the case ...

I how close relation/communication are you with the KF5 developers. I've the 
feeling that quite some things below are about similar topics they had/have as 
well.

So just to ensure that there is no doubled work.

> Technical Issues when Porting Calligra to Qt5.1
> 
> * cmake
> 
> CMake for KF5 is in a state of flux. In my branch, I just copied what was
> needed to make Calligra work. That's not very clean -- but the "right" way
> to use cmake seems to keep changing all the time :-(.
> 
> * plugins
> 
> Sebastian Kuegler has a number of patches on reviewboard that make porting
> plugins from the old KDE style to the new Qt style a breeze. We need to
> investigate whether we can reuse that work without dragging in all of KF5
> or Qt 5.2.
> 
> * qt vs kde
> 
> There are a lot of places where we can port directly from a KDE class to a
> Qt class. In other places, we will lose some functionality if we go with a
> Qt-only solution (like file dialogs). On the other hand, in many cases
> that will improve portability of Calligra to Windows, OSX and Android. I
> am really in favour of going Qt-only as much as possible for that reason.
> 
> This means no new uses of KLineEdit, KComboBox etc.
> 
> * kdefakes
> 
> The kdefakes library as started by Sebastian Sauer needs be expanded to be
> more than a set of fake headers. for instance...
> 
> * xmlgui
> 
> Unless we re-implement (or clone from e.g. Qt Creator) the shortcut editor
> and menu merging parts of xmlgui, we will need the xmlgui framework. See
> my other mail for how much that drags in. Or we can copy the relevant
> classes to kokdefakes...
> 
> * kparts
> 
> Plan and Kexi really use KParts, it seems. This is a bit of a porting
> nightmare.
> 
> * Optional KDE dependencies:
> 
>   - kross: for optional scripting plugins
>   - kdepim integration (the kdepim api's we use have been deprecated for
> half a decade, but we never fixed that...)
>   - kio: heavily dependent on dbus to function, it's a problem already on
> Windows and OSX. It's integration with qwidget is a problem on all mobile
> platforms.  I propose to stop using kio.
> 
> * cleanup moc-includes
> 
> 
> Appendix:
> 
> List of KDE headers included in Calligra (243 items)
> 
> #include <k3command.h>

[snip]

Best regards
Mario




More information about the calligra-devel mailing list