title: Qt Application: Simulating modal behaviour (enable/disable user input)
body: <p>I am currently working on an application that launches separate processes which display additional dialogs. The feature I am trying to implement is simulating modal behavior of these dialogs. More specifically, I need the application to stop processing all input, both mouse and keyboard, when the dialog is launched, and resume when it's closed.</p>
  
  <p>It is not so important for the dialog to remain on top of the application, although if you can suggest how to do that without resorting to Always-On-Top behavior, that would be nice as well.</p>
  
  <p>To note, the application is compiled under both Windows and Linux. Also, it is not an option to launch the dialogs directly. They are in separate executables. Also the application is a pretty complex piece of software, so disabling widgets individually is not an option, or at least a not very viable one.</p>
  
  <p>I found <em>lock()</em> and <em>unlock()</em> functions in QApplication class in Qt 3.3. We are currently using Qt 4.5, which doesn't seem to have that API. As a matter of fact, Qt 4.5 QApplication class doesn't seem to provide access to the Event Loop either.</p>
  
  <p>To summarize: <b>How do I disable/enable user input in a Qt Application, both mouse and keyboard shortcuts?</b></p>