Saturday, June 26, 2010

Porting Gonvert from GTK to Qt

On t.m.o I sometimes see requests to port applications from a previous generation of Maemo (like Quicknote and Multilist) or to port a desktop application to Maemo (like Gonvert).

I must be asking for punishment taking on a lot of these.

Gonvert started off as a unit converter for the desktop.  The UI was not well suited for mobile devices.  I had to make the UI more minimal and use my hildonize.py code to make it auto-hildonize.  Underneath the surface I had to do drastic code cleanup to even figure out how all the parts interact (btw if you want to see refactoring in action, check out my early git history with Gonvert).

As part of my plan for learning Qt and preparing for Meego, I decided Gonvert would be my first port.  No custom widgets, no threading, just taking user input and processing it to generate output.


So I'm going to look at Qt's documentation and design, what my experience was like porting Gonvert, and some meaningless statistics on the port.