Merge branch 'issue-1535' into calamares

FIXES #1535
This commit is contained in:
Adriaan de Groot 2020-10-14 01:52:06 +02:00
commit 8271b8399c
2 changed files with 33 additions and 5 deletions

View File

@ -10,6 +10,7 @@
#include "PackageModel.h"
#include "utils/Logger.h"
#include "utils/Variant.h"
#include "utils/Yaml.h"
@ -245,9 +246,21 @@ PackageModel::setupModelData( const QVariantList& groupList, PackageTreeItem* pa
}
}
}
if ( !item->childCount() )
{
cWarning() << "*packages* under" << item->name() << "is empty.";
}
}
if ( groupMap.contains( "subgroups" ) )
{
bool haveWarned = false;
const auto& subgroupValue = groupMap.value( "subgroups" );
if ( !subgroupValue.canConvert( QVariant::List ) )
{
cWarning() << "*subgroups* under" << item->name() << "is not a list.";
haveWarned = true;
}
QVariantList subgroups = groupMap.value( "subgroups" ).toList();
if ( !subgroups.isEmpty() )
{
@ -257,10 +270,22 @@ PackageModel::setupModelData( const QVariantList& groupList, PackageTreeItem* pa
// the checked-state -- do it manually.
item->updateSelected();
}
else
{
if ( !haveWarned )
{
cWarning() << "*subgroups* list under" << item->name() << "is empty.";
}
}
}
if ( item->isHidden() )
{
m_hiddenItems.append( item );
if ( !item->isSelected() )
{
cWarning() << "Item" << ( item->parentItem() ? item->parentItem()->name() : QString() ) << '.'
<< item->name() << "is hidden, but not selected.";
}
}
else
{

View File

@ -178,10 +178,11 @@ label:
# the group's packages are installed. It will run after **each** package in
# the group is installed.
#
# If you set both *hidden* and *selected* for a group, you are basically
# If you set both *hidden* and *selected* for a top-level group, you are
# creating a "default" group of packages which will always be installed
# in the user's system. Setting *hidden* to true without *selected*, or with
# *selected* set to false, is kind of pointless.
# in the user's system. Hidden selected subgroups are installed if their
# parent is selected. Setting *hidden* to true without *selected*, or with
# *selected* set to false, is kind of pointless and will generate a warning.
#
# The *pre-install* and *post-install* commands are **not** passed to
# a shell; see the **packages** module configuration (i.e. `packages.conf`)
@ -291,11 +292,13 @@ groups:
#
# The name of the internal subgroup doesn't matter -- it is hidden
# from the user -- so we can give them all bogus names and
# descriptions, even the same name. Here, we use "bogus".
# descriptions, even the same name. Here, we use "Bogus". You
# can re-use the subgroup name, it doesn't really matter.
#
# Each internal subgroup is set to *hidden*, so it does not show up
# as an entry in the list, and it is set to *selected*,
# so that if you select its parent subgroup.
# so that if you select its parent subgroup, the packages from
# the subgroup are selected with it and get installed.
- name: IDE
description: "Development Environment"
selected: false