aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2023-03-07 16:05:41 +0200
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2023-03-07 14:29:12 +0000
commit269738d7e5a080a59b3478d3fe1277040eea56b9 (patch)
tree013fd5b30b613456730867b46b61ed985c83a28e /src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
parent333ebb5bc2c26c85a3053a4a08102bcdbcac4b9b (diff)
QmlDesigner: Force QDS compatibility mode 3D import option
QDS requires 3D imports to use QDS compatibility mode to work correctly, so we force designStudioWorkarounds option on in all imports we do and hide the option from UI so user can't toggle it off. Since designStudioWorkarounds supercedes expandValueComponents option, we also hide that as setting it has no effect. Fixes: QDS-9219 Change-Id: Id40a45338ea630228f59b111703eba661ebd357b Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp')
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
index ab829f1e6f..23956dd268 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimportdialog.cpp
@@ -61,6 +61,9 @@ const int labelMinWidth = 130;
const int controlMinWidth = 65;
const int columnSpacing = 16;
+constexpr QStringView qdsWorkaroundsKey{u"designStudioWorkarounds"};
+constexpr QStringView expandValuesKey{u"expandValueComponents"};
+
} // namespace
ItemLibraryAssetImportDialog::ItemLibraryAssetImportDialog(
@@ -170,6 +173,11 @@ ItemLibraryAssetImportDialog::ItemLibraryAssetImportDialog(
while (optIt != supportedOpts.constEnd()) {
QJsonObject options = QJsonObject::fromVariantMap(qvariant_cast<QVariantMap>(optIt.value()));
m_importOptions << options.value("options").toObject();
+ if (m_importOptions.last().contains(qdsWorkaroundsKey)) {
+ QJsonObject optObj = m_importOptions.last()[qdsWorkaroundsKey].toObject();
+ optObj.insert("value", QJsonValue{true});
+ m_importOptions.last().insert(qdsWorkaroundsKey, optObj);
+ }
auto it = defaultOpts.constBegin();
while (it != defaultOpts.constEnd()) {
if (m_importOptions.last().contains(it.key())) {
@@ -475,7 +483,7 @@ QGridLayout *ItemLibraryAssetImportDialog::createOptionsGrid(
QJsonObject &options = m_importOptions[optionsIndex];
const auto optKeys = options.keys();
for (const auto &optKey : optKeys) {
- if (!advanced && !isSimpleOption(optKey))
+ if ((!advanced && !isSimpleOption(optKey)) || isHiddenOption(optKey))
continue;
QJsonObject optObj = options.value(optKey).toObject();
const QString optName = optObj.value("name").toString();
@@ -837,6 +845,16 @@ bool ItemLibraryAssetImportDialog::isSimpleOption(const QString &id)
return simpleOptions.contains(id);
}
+bool ItemLibraryAssetImportDialog::isHiddenOption(const QString &id)
+{
+ static QList<QStringView> hiddenOptions {
+ qdsWorkaroundsKey,
+ expandValuesKey // Hidden because qdsWorkaroundsKey we force true implies this
+ };
+
+ return hiddenOptions.contains(id);
+}
+
void ItemLibraryAssetImportDialog::resizeEvent(QResizeEvent *event)
{
m_dialogHeight = event->size().height();