From a2481386850e486af977ad90345426069488cc73 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 24 Apr 2020 12:21:35 +0300 Subject: [PATCH] QmlDesigner: Make 3D edit view onboarding text translatable Also add a potential related nullptr check. Change-Id: I8c6e4facbdb0c2d94f7c2af54f83eef0eca0b796 Fixes: QDS-1993 Reviewed-by: Mahmoud Badri Reviewed-by: Leena Miettinen --- .../qmldesigner/components/edit3d/edit3dview.cpp | 16 +++++++++------- .../components/edit3d/edit3dwidget.cpp | 11 +++++------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp index 52a286a16ab..9e882be2fde 100644 --- a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp +++ b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp @@ -312,14 +312,16 @@ QVector Edit3DView::rightActions() const void Edit3DView::addQuick3DImport() { - const QList imports = model()->possibleImports(); - for (const auto &import : imports) { - if (import.url() == "QtQuick3D") { - model()->changeImports({import}, {}); + if (model()) { + const QList imports = model()->possibleImports(); + for (const auto &import : imports) { + if (import.url() == "QtQuick3D") { + model()->changeImports({import}, {}); - // Subcomponent manager update needed to make item library entries appear - QmlDesignerPlugin::instance()->currentDesignDocument()->updateSubcomponentManager(); - return; + // Subcomponent manager update needed to make item library entries appear + QmlDesignerPlugin::instance()->currentDesignDocument()->updateSubcomponentManager(); + return; + } } } Core::AsynchronousMessageBox::warning(tr("Failed to Add Import"), diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp b/src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp index c9482272335..3d0d3f2f640 100644 --- a/src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp +++ b/src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp @@ -106,12 +106,11 @@ Edit3DWidget::Edit3DWidget(Edit3DView *view) : // Onboarding label contains instructions for new users how to get 3D content into the project m_onboardingLabel = new QLabel(this); QString labelText = - "No 3D import here yet!

" - "To create a 3D View you need to add the QtQuick3D import to your file.
" - "You can add the import via the QML Imports tab of the Library view, or alternatively click" - " here " - "to add it straight away.

" - "If you want to import 3D assets from another tool, click on the \"Add New Assets...\" button in the Assets tab of the Library view."; + tr("Your file does not import Qt Quick 3D.

" + "To create a 3D view, add the QtQuick3D import to your file in the QML Imports tab of the Library view. Or click" + " here " + "here to add it immediately.

" + "To import 3D assets from another tool, click on the \"Add New Assets...\" button in the Assets tab of the Library view."); m_onboardingLabel->setText(labelText.arg(Utils::creatorTheme()->color(Utils::Theme::TextColorLink).name())); m_onboardingLabel->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); connect(m_onboardingLabel, &QLabel::linkActivated, this, &Edit3DWidget::linkActivated);