Skip to content

Commit

Permalink
Ensure materials are listed in a nice order
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Nov 13, 2020
1 parent 2dcbf95 commit c214428
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/3d/materials/qgsmaterialregistry.cpp
Expand Up @@ -31,6 +31,7 @@ bool QgsMaterialRegistry::addMaterialSettingsType( QgsMaterialSettingsAbstractMe
return false;

mMetadata[metadata->type()] = metadata;
mMaterialsOrder << metadata->type();
return true;
}

Expand All @@ -49,5 +50,11 @@ QgsMaterialSettingsAbstractMetadata *QgsMaterialRegistry::materialSettingsMetada

QStringList QgsMaterialRegistry::materialSettingsTypes() const
{
return mMetadata.keys();
QStringList types;
for ( const QString &material : mMaterialsOrder )
{
if ( mMetadata.value( material ) )
types << material;
}
return types;
}
2 changes: 2 additions & 0 deletions src/3d/materials/qgsmaterialregistry.h
Expand Up @@ -220,6 +220,8 @@ class _3D_EXPORT QgsMaterialRegistry
#endif

QMap<QString, QgsMaterialSettingsAbstractMetadata *> mMetadata;
//! List of materials, maintained in the order that they have been added
QStringList mMaterialsOrder;
};


Expand Down

0 comments on commit c214428

Please sign in to comment.