some conventions
add QMetaObject::connectSlotsByName
add d-pointer to mainwindow