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

Conclusion

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 😉

Hello planet KDE

Hello everyone, my blog has just been aggregated into planet KDE.

For those who don’t know me, I’m a long time KDE user (since 2.2), I worked on several KDE projects like okular, kdm, amarok, konqueror, as well as releasing other software like Fotowall and other stuff on various repositories.

This planet is the collector of many of my favorite blogs and it’s an honor for me to be here.

See you soon (with some developer tool hacks…stay tuned) ! 😉

Fotowall 0.6

L’escalation verso la 1.0 continua con una nuova milestone 😉

Nuove caratteristiche presenti in FotoWall 0.6

Nuove caratteristiche presenti in Fotowall 0.6

Se non vi sono bastate le tonnellate di migliorie della 0.5 ecco che arriva una 0.6 che quasi raddoppia la base di codice e introduce una serie di caratteristiche che danno un taglio professionale senza intaccare la facilità di interazione e la libertà di giocare con Fotowall 😉 E ancora non avete letto nulla… Continua a leggere

Il meglio di KDE al GSoC

Esiste miglior diversivo, per dimenticare l’esclusione del mio progetto dal Google Summer of Code 2009, della recensione dei progetti accettati per KDE? Assolutamente no! 🙂 ed ecco allora la:

Lista dei miei sorvegliati speciali 2009

  • nepomukImproving Search and Virtual Folders
    creazione di un widget standard per la ricerca con Nepomuk da integrare in Dolphin, nel File Dialog, etc.. e miglioramento del backend ‘nepomuksearch:’ + virtual folder (es. Immagini = tutte le immagini presenti nel pc)
  • phononVisualizations
    estrae statistiche (spettro, metriche varie) dal flusso audio di Phonon per fornire i dati a visualizzatori. Utile per tutto kdemultimedia oltre ai vu-meter fai da te!
  • kdevelopC++ refactoring support
    datecelo e svilupperemo al triplo della velocita’ 😀 dateci anche “static code visualization” e ci regalate un altro emisfero cerebrale. (il motore C++ di kdevelop spaccadibbrutto, la gui/workflow e’ 10 volte meno usabile di QtCreator)
  • plasmaNew Widget Explorer
    l’attuale ‘just sucks’.. c’e’ bisogno di disabilitare i plasmoidi non validi, di raggrupparli per tipologia, di avere un dialog che presenti piu’ contenuto in molto meno spazio (e speriamo che tolgano l’odiosa stellina mangia spazio :-))
  • plasmaPlasMate Editor
    puo’ aiutare la diffusione dei plasmoidi, ma solo *se fatto a regola d’arte*, altrimenti brucia la bonta’ di plasma.
  • plasmaMedia Center Components
    componenti Multimediali per Plasma. Alessandro puo’ fare un bel lavoro qui. Optimization is needed btw 😉

Ce ne sono ovviamente molti altri di interessanti (tra i 38 assegnati a KDE), e non parliamo dei progetti di Gnome, LLVM, GCC, Gentoo, e degli altri 900 😉

Soc 2009: arrivano gli invitati

Al via il Summer of Code 2009 di google.

Questa la lista delle tematiche che saranno finanziate nel programma di quest’anno:

ambienti desktop [KDE, GNOME, Elightenment, Maemo]
browser [Mozilla, Chromium]
codec audio/video [FFmpeg, GStreamer, VideoLAN, Audacity]
compilatori [LLVM, GCC, Mono, GNU tools, Eclipse]
database [MySQL]
distribuzioni Linux [Fedora, Gentoo, openSUSE, Ubuntu, Pardus]
motori 3D [Crystal Space, OGRE]
progetti universitari [Harvard, Michigan, Berkeley, Oregon, Portland]
programmi per grafica [Blender, GIMP, Inkscape]
programmi per versioning [git, Mercurial, Subversion]
programmi scientifici [SciLab, R foundation]
sistemi operativi [Linux, Minix, Wine, FreeBSD, NetBSD, Plan 9]
sviluppo web [Apache, Rails, WordPress, Joomla, Moinmoin, Moodle]
– …vari che iniziano per open 😉 [OpenOffice, OpenStreetMap, OpenSSH]

Questo modo di finanziare ricerca di base su larga scala farà emergere, come ogni anno, progetti interessanti ed il contributo migliorerà in media la qualità dei maggiori progetti opensource.
Spero che la partecipazione da parte degli studenti dell’Università degli Studi di Padova sarà significativa, dato che la relazione con google è molto qualificante ed i soldi che entrano in tasca non sono pochi! 😉

Tenfold

Tutti sanno come il battido d’ali di una farfalla ad Hong Kong possa causare un uragano a Conegliano Veneto, ma questa e’ piu’ interessante:

Le Qt 4.5 saranno rilasciate sotto LGPL. Per la gioia di tutti i set-top-box maker (tra i quali spiccano alcune realta’ hi-tech italiane!), dei produttori di dispositivi embedded/mobili, o semplicemente di chi fa programmi per computer: non si dovranno piu’ pagare costi fissi (di licenza) e/o variabili (runtime royalties) per le Qt!

    Effetti collaterali:

  • esiste ora uno stack software completo (kernel linux, toolchains, librerie Qt) per creare nuovi dispositivi ‘consumer’ senza sborsare un cent in licenze
  • ci sara’ una migrazione da parte di chi usa altri toolkit (magari tecnologicamente inferiori, o piu’ complessi da usare, o non gratuiti.. es: gtk+, vxwidgets, .net) verso le Qt
  • tramite meccanismi a catena, e’ attesa una vasta diffusione della tecnologia, infatti come Nokia stessa prevede:

    in the long term, the benefits of adopting a participatory development model and accelerating development far outweighed the value of the revenue stream that it could generate by selling commercial licenses.

E qual’e’ la relazione con la farfalla? Che una societa’ decide una nuova strategia commerciale e subito il tuo curriculum diventa 10 volte piu’ appetibile !!!
(…usciro’ dal Dei, prima o poi… ;-))