From 6a7f853ec940ed69358a3de58f6d1051d71db35f Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Thu, 2 Jun 2022 22:31:10 +0300 Subject: [PATCH] QmlDesigner: Switch to components view upon model attach the "add imports" view looks confusing when it appears upon switching from edit mode or welcome screen to design mode. Even worse when it stays after creating a new project. Change-Id: Ibc3ff1adc7f6b653d443fec2b8f1803d6ac56ed9 Reviewed-by: Reviewed-by: Miikka Heikkinen --- .../components/itemlibrary/itemlibraryview.cpp | 1 + .../components/itemlibrary/itemlibrarywidget.cpp | 9 +++++++-- .../components/itemlibrary/itemlibrarywidget.h | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp index 21928ea06ae..5ad81ef9a20 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp @@ -77,6 +77,7 @@ void ItemLibraryView::modelAttached(Model *model) AbstractView::modelAttached(model); m_widget->clearSearchFilter(); + m_widget->switchToComponentsView(); m_widget->setModel(model); updateImports(); if (model) diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index 75a564d7384..e6f2b2825e5 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -278,7 +278,7 @@ void ItemLibraryWidget::handleAddImport(int index) imports.append(import); model->changeImports(imports, {}); - QMetaObject::invokeMethod(m_itemsWidget->rootObject(), "switchToComponentsView"); + switchToComponentsView(); updateSearch(); } @@ -310,7 +310,7 @@ void ItemLibraryWidget::setModel(Model *model) m_subCompEditMode = subCompEditMode; // Switch out of add module view if it's active if (m_subCompEditMode) - QMetaObject::invokeMethod(m_itemsWidget->rootObject(), "switchToComponentsView"); + switchToComponentsView(); emit subCompEditModeChanged(); } } @@ -330,6 +330,11 @@ void ItemLibraryWidget::clearSearchFilter() QMetaObject::invokeMethod(m_itemsWidget->rootObject(), "clearSearchFilter"); } +void ItemLibraryWidget::switchToComponentsView() +{ + QMetaObject::invokeMethod(m_itemsWidget->rootObject(), "switchToComponentsView"); +} + void ItemLibraryWidget::reloadQmlSource() { const QString itemLibraryQmlPath = qmlSourcesPath() + "/ItemsView.qml"; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h index be905f181ae..1b63c2fc660 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h @@ -73,8 +73,9 @@ public: QList createToolBarWidgets(); static QString qmlSourcesPath(); - void clearSearchFilter(); + void clearSearchFilter(); + void switchToComponentsView(); void delayedUpdateModel(); void updateModel(); void updatePossibleImports(const QList &possibleImports);