qtapp.exec() should NOT be called in that case (there is already an event loop running)
we should NOT change the except hook (given that the function does not block in that case, we change it back right away)
I think having a class method in AbstractEditor which would:
create an instance and call setup_and_check then return the dialog instance if ok, and None otherwise would make things cleaner/shorter
I think having a class method in AbstractEditor which would: create an instance and call setup_and_check then return the dialog instance if ok, and None otherwise would make things cleaner/shorter