On master (1ef34ee25ed34b2b092f15bf3dca5c0508092829) during shutdown QApplication
exits the main event loop, then re-enter again.
This PR streamlines shutdown process by removing the need to interrupt the main event loop, that is required for #59.
Also, blocking QDialog::exec()
calls are replaced with safer QDialog::show()
, except for SendConfirmationDialog
as that change is not trivial (marked as TODO).
The QDialog::open()
was not used because the actual modality mode (application modal or window modal) of a dialog depends on whether it has a parent.
This PR does not change behavior, and all touched dialogs are still application modal. As a follow up, a design research could suggest to make some dialogs window modal.
NOTE for reviewers: quitting app while a dialog is open (e.g., via systray icon menu) must work fine.