- point to main Calamares site in the 'part of' headers instead
of to github (this is the "this file is part of Calamares"
opening line for most files).
- remove boilerplate from all source files, CMake modules and completions,
this is the 3-paragraph summary of the GPL-3.0-or-later, which has
a meaning entirely covered by the SPDX tag.
- previously, the first column (name) was sized to show the
names **that were visible at startup**, which fails when
there are long names hidden in groups that are not expanded
immediately.
- change the columns to resize according to the contents; this makes
the descriptions jump to the right as the name column gets wider.
FIXES#1448
- Instead of loading all in the constructor, provide a public
setupModelData().
- This allows creating the model and setting it for UI, before
the load completes.
- For a static list of selectable packages (e.g. what you might otherwise
use file:/// for with a static file on the ISO) you can now stick the
list in the config file itself, simplifying some setups.
- Also saves faffing about with network.
SEE #1319
- The model always has two columns, and the column names are always
the same. We don't need to specially set headers for that.
- Use QCoreApplication::translation() to re-use the existing
translations and avoid creating "new" strings (in a new context).
- Use only utils/YamlUtils.h to pull in yaml-cpp and supporting code.
- When compiling with clang, turn off warnings that the system header
for yaml-cpp would generate.
- m_groups is only set to a non-nullptr value when data is received
and fully processed,
- avoid nullptr dereference when paging *back* from a netinstall
page that hasn't loaded groups data.
FIXES#859
- Document netinstall.conf a little,
- Add setting *required* which influences whether next is enabled or not
in case of missing or corrupt data,
- Enable *next* button only once some (any!) data is received.
This can be used to disallow stepping past the netinstall step when
there is no data (e.g. internet has failed between the welcome page
and the netinstall page).
- both NetInstall (group data) and Locale (GeoIP) use network
data returned as a source of YAML data. Try to explain
parsing errors for both.
FIXES#786
When NetInstall receives YAML data, handle parser errors more gracefully:
show line and column, but because it's network data (not in a local file),
do some work to print out the actual data received.
FIXES#786
Package groups are divided into critical and non-critical
depending on whether we want all Calamares to fail if installing
a package in the group fails, or we are okay with just logging a
warning.
The distinction is configured in the YAML file listing the package
groups. By default, all groups are critical, to keep supporting
the previous behaviour.
In other words, support:
hidden: false
selected: true
groups.
This was supposed to work according to README.md, but not actually
implemented. Now it should be working.