ShellInputThread: Move to the direction of proper QThread usage. Calling exec() and exiting the thread cleanly. This will not exit yet cleanly as ReadShellInput() will block the QEventLoop of the thread. Once we figure out a non blocking way to read std::cin its going to be proper.