From 83c61a7c53a55b6285fdbedd80b9d43268aa9841 Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Mon, 22 Feb 2021 22:10:53 +0200 Subject: [PATCH] QmlDesigner: 2 item library import section improvements - Move imports with no categories to the bottom of the list. - Remove the project import from the list. Change-Id: I41d229bb776bfe845dadbfc5c1be5b7d50aeee3e Reviewed-by: Miikka Heikkinen --- .../components/itemlibrary/itemlibraryimport.cpp | 3 +++ .../components/itemlibrary/itemlibrarymodel.cpp | 13 +++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.cpp index ef1d0e7da72..41483535c5a 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.cpp @@ -64,6 +64,9 @@ QString ItemLibraryImport::sortingName() const if (m_isUserSection) // user components always come first return "_"; + if (!hasCategories()) // imports with no categories are at the bottom of the list + return "zzzzz" + importName(); + return importName(); } diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp index 761c450b317..c88ebb67e96 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp @@ -30,12 +30,13 @@ #include "itemlibraryitem.h" #include "itemlibraryinfo.h" +#include #include #include #include - -#include - +#include +#include +#include "qmldesignerplugin.h" #include #include @@ -190,9 +191,13 @@ void ItemLibraryModel::update(ItemLibraryInfo *itemLibraryInfo, Model *model) beginResetModel(); clearSections(); + Utils::FilePath qmlFileName = QmlDesignerPlugin::instance()->currentDesignDocument()->fileName(); + ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(qmlFileName); + QString projectName = project ? project->displayName() : ""; + // create import sections for (const Import &import : model->imports()) { - if (import.isLibraryImport()) { + if (import.isLibraryImport() && import.url() != projectName) { ItemLibraryImport *itemLibImport = new ItemLibraryImport(import, this); m_importList.append(itemLibImport); itemLibImport->setImportExpanded(loadExpandedState(import.url()));