Demo Undo Framework for Qt5