move new classes from gui to app
use native QEvent::Type
avoid boolean trap