QmlDesigner: Hardcode imports for project storage

We hardcode the possible imports for now.
The default for usedImports is simply simports.

TODO:

Properly adjust the API. Possible imports are a project wide global
"property" and do not belong into the model.

Task-number: QDS-14925
Change-Id: I07246f449a00850717e8c7040c5d069a1685feee
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
Thomas Hartmann
2025-03-14 17:12:54 +01:00
committed by Thomas Hartmann
parent 8800e041d2
commit 54470472d6
2 changed files with 57 additions and 4 deletions

View File

@@ -59,9 +59,9 @@ public:
|| second.m_version.isEmpty());
}
friend bool operator<(const Import &first, const Import &second)
friend auto operator<=>(const Import &first, const Import &second)
{
return std::tie(first.m_url, first.m_type) < std::tie(second.m_url, second.m_type);
return std::tie(first.m_url, first.m_type) <=> std::tie(second.m_url, second.m_type);
}
friend QDebug operator<<(QDebug debug, const Import &import)

View File

@@ -1788,10 +1788,63 @@ Storage::Info::ExportedTypeName Model::exportedTypeNameForMetaInfo(const NodeMet
return {};
}
#ifdef QDS_USE_PROJECTSTORAGE
namespace {
QmlDesigner::Imports createQt6ModulesForProjectStorage()
{
QmlDesigner::Imports imports = {
QmlDesigner::Import::createLibraryImport("QtQuick"),
QmlDesigner::Import::createLibraryImport("QtQuick.Controls"),
QmlDesigner::Import::createLibraryImport("QtQuick.Window"),
QmlDesigner::Import::createLibraryImport("QtQuick.VectorImage"),
QmlDesigner::Import::createLibraryImport("QtQuick.Layouts"),
QmlDesigner::Import::createLibraryImport("QtQuick.Timeline"),
QmlDesigner::Import::createLibraryImport("QtCharts"),
QmlDesigner::Import::createLibraryImport("QtGraphs"),
QmlDesigner::Import::createLibraryImport("QtInsightTracker"),
QmlDesigner::Import::createLibraryImport("QtMultimedia"),
QmlDesigner::Import::createLibraryImport("QtQuick.VirtualKeyboard"),
QmlDesigner::Import::createLibraryImport("QtQuick.VirtualKeyboard.Components"),
QmlDesigner::Import::createLibraryImport("QtQuick.VirtualKeyboard.Layouts"),
QmlDesigner::Import::createLibraryImport("QtQuick.VirtualKeyboard.Settings"),
QmlDesigner::Import::createLibraryImport("QtQuick.VirtualKeyboard.Styles"),
QmlDesigner::Import::createLibraryImport("QtQuick3D"),
QmlDesigner::Import::createLibraryImport("QtQuick3D.Effects"),
QmlDesigner::Import::createLibraryImport("QtQuick3D.Particles3D"),
QmlDesigner::Import::createLibraryImport("QtQuick3D.Physics"),
QmlDesigner::Import::createLibraryImport("QtQuick3D.Physics.Helpers"),
QmlDesigner::Import::createLibraryImport("QtQuick3D.SpatialAudio"),
QmlDesigner::Import::createLibraryImport("QtQuick3D.Xr"),
QmlDesigner::Import::createLibraryImport("QtQuickUltralite.Extras"),
QmlDesigner::Import::createLibraryImport("QtQuickUltralite.Layers"),
QmlDesigner::Import::createLibraryImport("QtQuickUltralite.Studio.Components"),
QmlDesigner::Import::createLibraryImport("QtQuick.Studio.Components"),
QmlDesigner::Import::createLibraryImport("QtQuick.Studio.DesignEffects"),
QmlDesigner::Import::createLibraryImport("QtQuick.Studio.LogicHelper"),
QmlDesigner::Import::createLibraryImport("Qt.SafeRenderer"),
QmlDesigner::Import::createLibraryImport("SimulinkConnector")};
std::ranges::sort(imports);
return imports;
};
} //namespace
#endif //QDS_USE_PROJECTSTORAGE
Imports Model::possibleImports() const
{
#ifdef QDS_USE_PROJECTSTORAGE
return {};
static auto imports = createQt6ModulesForProjectStorage();
return imports;
#else
return d->m_possibleImportList;
#endif
@@ -1800,7 +1853,7 @@ Imports Model::possibleImports() const
Imports Model::usedImports() const
{
#ifdef QDS_USE_PROJECTSTORAGE
return {};
return imports();
#else
return d->m_usedImportList;
#endif