Up until now, there have been many hardcoded configuration and user settings. Some of them can be set through the GUI, but others have only been changeable by editing the code and recompiling. Even the ones that can be set through the GUI always start with a hardcoded value and not with the last setting that was made. It's time we changed things so that settings are preserved between runs and so that we can make changes without rebuilding the code.
To do this, we will use the QSettings class. QSettings provides cross-platform support for saving and restoring program settings.