Quax 4 – a tale of porting

Note for planetqt readers: the title should be ‘Quax 4 – a tale of porting’

Once upon a time, a little application called quax was landed on kde-apps. As imagination is better served by a picture, here is what quax looks like:

Quax after being ported to Qt 4.5.

Quax after being ported to Qt 4.5.

It’s nothing but a simple and easy to use screen magnifier. You can move it around and place it near the detail to magnify. Plus it lets you pick the color of a pixel. It’s the perfect tool when you’re tuning the style, pixels and gradients of your beloved app 😉 It had only one drawback: it was build with Qt 3.

Porting Quax to Qt4

It was the first time I had to port an application from Qt3 to Qt4. Here are some stats:

  • The porting took 3 hours (you can see it from the git history, dinner included 😉 )
  • I did the following:
    • create the project files
    • use qt3to4 with that files
    • make it compile disabling some code chunks
    • re-enable the disabled code in a qt4 way
    • disabled qt3 support from the .pro file and fixed all until it compiled
    • update the packaging informations, readme’s
    • published Quax 4 in kde-apps
  • The source code dropped from 670 to 547 lines of code. So Qt4 saved 14% of code compared to Qt3 for this project.
  • The cleanness went drastically up, the API of Qt4 is a big improvement over that of Qt3.
  • I can’t talk about speed or graphics improvements.. but if you look at the old screenshots you’ll see that the font rendering was really improved in Qt4


Finally I have quax back, and you can have it too! 😉 The source code is on gitorious, and here is the kde-apps page. A final thank word to Claudiu Costin (the original author) and Vlad Oancea (the skin designer). I won’t maintain quax4 and I don’t plan to add any features, I’m just glad I can keep my box Qt3 free while designing pixel-perfect graphics thanks to this cute little utility 😉