Theorize a way of creating a dictionary like structure to access global variables, but support Signals/Slots
For example, It's not entirely bad that BlitApp
kinda has ownership of zoom
(which Canvas should actually; make a new ticket down the road), or 'curFrame'. I don't like having to hard-code in these state variables into the header file because each time that I change it, I have to do a crap ton of compiling.
It would be simple to add in some sort of dictionary in the public area, but we want these properties to have signal/slot support.
So think of a way to store this data (possibly with a subclass of QObject) in a manner where it is globally accessible and can notify things of changes.