First stab at Qt app (imaginatively named testmain.py). Interface laid out and basic behavior working.
Everything is basically in place for at least live text. For some reason spawning the flowgraph is broken.
Live data display works.
CMake magic to find PyQt4 and build the main GUI from .ui. Also renamed uhd_modes.py -> modes_rx, and the GUI app -> modes_gui
Forgot to modify UI import in GUI app
Setting up a model-view display for the airframe list.
Parser and error-handling changes.
Added in speed/vs fetching. Need to figure out your datamodel.
Using QtSql instead of sqlite3 to access data -- might change this back but trying to set up a good data model.

Also subclassed QListView so we can eventually implement fading by age in the list view.
I'm pretty sure custom painting should be handled with delegates and not a subclassed QListView
Using a delegate instead for coloring. Text color works but we don't get nice highlighting. Wish we could alter the painter and use the default paint().
today nick learns about the QDataWidgetMapper, which solves all his problems
Other fields entered.
Split out the data model because I'm using a flat SQL table for the dashboard now. Most everything hooked up.
SQL parser modified to use flat aircraft table. This breaks KML horribly and eventually you should integrate the flat table into the GUI app and revert to the old method for the KML generator.
Revert SQL changes and use a separate, non-db datamodel for the dashboard display.
Dashboard mostly works. ICAO view now prints ident if available.

TODO:
draw selection in list view delegate
maintain selection on insert rows (emit beginInsertRows/endInsertRows)
fix heading widget so it updates correctly (something in the DataWidgetMapper that you aren't doing)
Well, the ICAO lineedit works in hex now, but I don't like the way it went in.
Selections are persistent when rows inserted, rows automatically prune when 60s w/o reply
Heading widget updates correctly.