[libcalamaresui] Check for typo's in branding keys
This commit is contained in:
parent
7356961f52
commit
2c07463ac6
@ -95,6 +95,36 @@ const QStringList Branding::s_uploadServerStrings =
|
||||
// clang-format on
|
||||
// *INDENT-ON*
|
||||
|
||||
/** @brief Check that all the entries in the @p style map make sense
|
||||
*
|
||||
* This will catch typo's in key names.
|
||||
*/
|
||||
static bool
|
||||
validateStyleEntries( const QMap< QString, QString >& style )
|
||||
{
|
||||
using SE = Branding::StyleEntry;
|
||||
|
||||
Logger::Once o;
|
||||
bool valid = true;
|
||||
|
||||
const auto meta = QMetaEnum::fromType< SE >();
|
||||
QSet< QString > validNames;
|
||||
for ( SE i : { SE::SidebarBackground, SE::SidebarBackgroundCurrent, SE::SidebarText, SE::SidebarTextCurrent } )
|
||||
{
|
||||
validNames.insert( meta.valueToKey( i ) );
|
||||
}
|
||||
|
||||
for ( const auto& k : style.keys() )
|
||||
{
|
||||
if ( !validNames.contains( k ) )
|
||||
{
|
||||
cWarning() << o << "Unknown branding *style* entry" << k;
|
||||
valid = false;
|
||||
}
|
||||
}
|
||||
|
||||
return valid;
|
||||
}
|
||||
|
||||
const NamedEnumTable< Branding::WindowDimensionUnit >&
|
||||
Branding::WindowDimension::suffixes()
|
||||
@ -289,6 +319,7 @@ Branding::Branding( const QString& brandingFilePath, QObject* parent )
|
||||
{
|
||||
cDebug() << "Loaded branding component" << m_componentName;
|
||||
}
|
||||
validateStyleEntries( m_style );
|
||||
}
|
||||
|
||||
|
||||
@ -310,8 +341,8 @@ Branding::string( Branding::StringEntry stringEntry ) const
|
||||
QString
|
||||
Branding::styleString( Branding::StyleEntry styleEntry ) const
|
||||
{
|
||||
const auto meta = QMetaEnum::fromType<Branding::StyleEntry>();
|
||||
return meta.valueToKey(styleEntry);
|
||||
const auto meta = QMetaEnum::fromType< Branding::StyleEntry >();
|
||||
return m_style.value( meta.valueToKey( styleEntry ) );
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user