Porting is Slow.
Porting application to the new qt4 / kde4 api is a lot of work. I admit it is a lot more work then I thought at the start of the porting effort.
I started working on Mailody last year and figured it would be a breeze to port it and then continue with new features (which I’ve already programmed in my mind a dozen times now). Instead I now have the feeling that we are building the application pretty much from scratch.
All features we implemented need love to implement again and large portions need to be rewritten, for example the model/view structure requires large changes in the code base. I’ve no real complaints about the new api, it’s nice to work with and I can reach what I want with the api. The only problem is that it is just a lot of work.
The class I like most at this moment is the QSortFilterProxyModel, this is the class you can use to influence the sorting and filtering of the items in a model/view. In Mailody’s case it was simple to implement the ‘hide-deleted-but-show-them-when-a-new-message-arrives’-feature and to sort the items based on the youngest child in a thread. On the other hand using a Proxy complicates the mapping to and from items in the model with another level, but overall model/view is nice when you get the hang of it. The only bug I encountered was that a repaint() on the view does not seem to work.
If you still have not started porting your application, consider this a warning, you need time to do it. Mailody’s plan was to release at the same times as KDE releases alfa’s and beta’s. I’ve put that idea out of mind, at least for the alfa.