No actual code changes were necessary.
I have partly followed
https://doc.qt.io/qt-6/cmake-qt5-and-qt6-compatibility.html, but the
versionless targets only work from Qt 5.15 onwards. The suggested
workaround chooses 5 over 6 and does not appear to work properly when
one of the required components is missing. Using the versionless
approach with an additional variable for the targets seems to work best.
If necessary, Qt 5 can be forced over 6 by passing
`-DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON`.
I have tested this by tweaking the code to force the GUI to appear.
Check to see if extras are already complete by getting file size from content-length header or API response
Don't trust file size from API responses for extras by default
Add option --trust-api-for-extras to make lgogdownloader trust API responses for extras to be correct
DLC files can now be included/excluded separately
Bumped game details cache version number
Game specific config file changes:
- "dlc" option is deprecated and will be ignored
- "include" option is added
Configuration file $XDG_CONFIG_HOME/lgogdownloader/transformations.json can be used to set rules for transforming gamenames.
New subdir templates: %gamename_transformed% and %gamename_transformed_firstletter%
"--list transformations" can be used to show transformed gamenames
The downloader now shows total size to be downloaded
Added --check-free-space option to check if there is enough free space and abort if not enough is available
Don't override Globals::globalConfig.sIgnoreDLCCountRegex in Downloader::updateCache()
Changed how getting game details JSON is handled in Downloader::getGameDetailsThread
Sometimes curl handles in downloader and galaxy api class could overwrite cookies with blank cookies
Fixed this by not setting CURLOPT_COOKIEJAR by default and only using it for curl handles in website class