Merge remote-tracking branch 'origin/8.0' into 9.0

Conflicts:
	doc/qtcreator/src/qtquick/qt-design-viewer.qdoc
	src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
	src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp
	src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
	src/plugins/qmldesigner/components/navigator/choosefrompropertylistdialog.cpp
	src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
	src/plugins/qmldesigner/designercore/model/abstractview.cpp
	src/plugins/qmldesigner/designercore/model/import.cpp
	src/plugins/qmldesigner/designercore/model/model_p.h
	src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
	src/plugins/qmlprojectmanager/qmlproject.cpp

Change-Id: I4236bf0da9306abf201f4679259e72dd7c1eddbe
This commit is contained in:
Eike Ziller
2022-11-01 15:38:49 +01:00
80 changed files with 888 additions and 396 deletions

View File

@@ -83,41 +83,54 @@ bool MaterialBrowserModel::loadPropertyGroups(const QString &path)
{
bool ok = true;
if (m_propertyGroupsObj.isEmpty()) {
QFile matPropsFile(path);
QFile matPropsFile(path);
if (!matPropsFile.open(QIODevice::ReadOnly)) {
qWarning("Couldn't open propertyGroups.json");
ok = false;
}
if (!matPropsFile.open(QIODevice::ReadOnly)) {
qWarning("Couldn't open propertyGroups.json");
if (ok) {
QJsonDocument matPropsJsonDoc = QJsonDocument::fromJson(matPropsFile.readAll());
if (matPropsJsonDoc.isNull()) {
qWarning("Invalid propertyGroups.json file");
ok = false;
}
if (ok) {
QJsonDocument matPropsJsonDoc = QJsonDocument::fromJson(matPropsFile.readAll());
if (matPropsJsonDoc.isNull()) {
qWarning("Invalid propertyGroups.json file");
ok = false;
} else {
m_propertyGroupsObj = matPropsJsonDoc.object();
}
} else {
m_propertyGroupsObj = matPropsJsonDoc.object();
}
}
m_defaultMaterialSections.clear();
m_principledMaterialSections.clear();
m_specularGlossyMaterialSections.clear();
m_customMaterialSections.clear();
if (ok) {
m_defaultMaterialSections.append(m_propertyGroupsObj.value("DefaultMaterial").toObject().keys());
m_principledMaterialSections.append(m_propertyGroupsObj.value("PrincipledMaterial").toObject().keys());
m_specularGlossyMaterialSections.append(m_propertyGroupsObj.value("SpecularGlossyMaterial").toObject().keys());
QStringList customMatSections = m_propertyGroupsObj.value("CustomMaterial").toObject().keys();
if (customMatSections.size() > 1) // as of now custom material has only 1 section, so we don't add it
m_customMaterialSections.append(customMatSections);
} else {
m_propertyGroupsObj = {};
}
emit materialSectionsChanged();
return ok;
}
void MaterialBrowserModel::unloadPropertyGroups()
{
if (!m_propertyGroupsObj.isEmpty()) {
m_propertyGroupsObj = {};
m_defaultMaterialSections.clear();
m_principledMaterialSections.clear();
m_specularGlossyMaterialSections.clear();
m_customMaterialSections.clear();
emit materialSectionsChanged();
}
}
QHash<int, QByteArray> MaterialBrowserModel::roleNames() const
{
static const QHash<int, QByteArray> roles {
@@ -381,6 +394,7 @@ void MaterialBrowserModel::copyMaterialProperties(int idx, const QString &sectio
}
}
validProps.remove("objectName");
validProps.remove("data");
if (m_allPropsCopied || dynamicPropsCopied || m_propertyGroupsObj.empty()) {
copiedProps = validProps.values();