Set WindowModality of all KIO message box to Qt::WindowModal
Review Request #114436 - Created Dec. 13, 2013 and submitted
The attached patch changes the WindowModality of all the message/information boxes displayed by KIO::JobUiDelegate to Qt::WindowModal instead of Qt::ApplicationModal. This prevents a message box in one window from blocking all other windows.
Thanks for looking into this, Dawit! I greatly appreciate this effort. Two questions come to my mind: 1. Why should these dialogs be modal at all? Everything that KIO does is asynchronous, so it could very well be that the window isn't even showing the directory (where the action took place that triggered the dialog) any more. 2. Since every little change can have unexpected side effects, and the "modality" issue is not causing a lot of trouble for users right now (please correct me if I'm wrong), maybe this change should better be done in master? Currently, the only situation in which a single process can have multiple windows that can perform file management actions is that there are two Konqueror windows, one of which was opened from the other one with "Open New Window", I think (but I might be overlooking some other possibilities). Some background for people who have not followed the "modality" discussion in the past: some time ago, Thomas raised the question why Dolphin is not a KUniqueApplication any more. This was done mostly because Strigi made Dolphin crash a lot, and it was quite annoying for users to see all their Dolphin windows disappear if one of them crashed (this is not a big problem any more), but also because it was a bit irritating that KIO dialogs would freeze all Dolphin windows. Some more information can be found in these threads: http://lists.kde.org/?t=137529683100002&r=1&w=2 http://lists.kde.org/?t=137537235900004&r=1&w=2