There is no need to read the QSettings again as the content of
`self._recentProjectFiles` reflects their content accurately and they
do not store any thumbnail-related information.
QSettings will now only be read once, upon Meshroom's start.
Instead of doing it directly within the `_getRecentProjectFiles` method,
add a function that attempts to retrieve a thumbnail corresponding to
an input project file path.
When the list of recent project files is updated, there is no attempt
to retrieve its thumbnail as the update is said to be "minimal".
This minimal update is justified by the lack of use for the thumbnails
in the Application part of Meshroom. Thumbnails are only useful when
displaying the Homepage, hence their retrieval during Meshroom's
initialization. There is only a need to update them once we want to
display the Homepage again.
The Homepage thus requests an update of the thumbnails before setting
its model. If there have been some updates to the list of recent project
files, the reading of the QSettings is performed again and thumbnails
are retrieved whenever it is possible. Otherwise, nothing happens to
prevent useless readings.
The property itself only accesses a list instead of reading the QSettings
every single time it is called.
It is set once during the application's launch with a full reading, and
is then updated without performing extra reading operations every time
a file is added to or removed from the list.
Introduce new environment variable to enable and configure
QML debugging when starting Meshroom GUI app.
Introduce a new EnvVar class to centralize the management of
environment variables across Meshroom.
`pipelineTemplatesFolders` is not available anymore as a global
variables in `meshroom.core`. `initPipelines()` performs the iterations
over `pipelineTemplatesFolders` that are needed to update the list.
The changelog is added as a model. Although it is meant to be displayed
with the licenses for Meshroom and AliceVision, the changelog model is
provided apart from the licenses' and then concatenated with it so they
are displayed together.
Save up to 3 folder locations from which images have been imported.
These folder locations will be saved across Meshroom sessions, in
a similar fashion as the "Recent Files" entries.
If no folder location has been saved (or if all saved folder locations
are invalid), we fall back to the default behaviour: if a project with
images has been opened before the "Import Images" action is called, then
the base folder will be the folder containing the opened project's
images.