I am not quite sure I understand your last question.
One way you could go about it, is just emit a signal in your mousePressEvent(), and in the slot you can have the logic for doing things depending on your mode, as you wanted in your original question.
But that is only a semantic difference.
You can just as well do that in the mousePressEVent().
P.S
Instead of using QTextStream for debug messages you can use qDebug().
Bookmarks