diff --git a/src/plugins/qmldesigner/designercore/metainfo/sourceid.h b/src/plugins/qmldesigner/designercore/metainfo/sourceid.h deleted file mode 100644 index d0b3de3ec4b..00000000000 --- a/src/plugins/qmldesigner/designercore/metainfo/sourceid.h +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#pragma once - -#include -#include -#include - -namespace QmlDesigner { - -class SourceId -{ -public: - constexpr SourceId() = default; - - SourceId(const char *) = delete; - - explicit SourceId(int id) - : id(id) - {} - - bool isValid() const { return id >= 0; } - - friend bool operator==(SourceId first, SourceId second) - { - return first.isValid() && first.id == second.id; - } - - friend bool operator!=(SourceId first, SourceId second) { return !(first == second); } - - friend bool operator<(SourceId first, SourceId second) { return first.id < second.id; } - -public: - int id = -1; -}; - -using SourceIds = std::vector; - -} // namespace QmlDesigner - -namespace std { -template<> -struct hash -{ - using argument_type = QmlDesigner::SourceId; - using result_type = std::size_t; - result_type operator()(const argument_type &id) const { return std::hash{}(id.id); } -}; - -} // namespace std diff --git a/src/plugins/qmldesigner/designercore/metainfo/sourcepathcontextid.h b/src/plugins/qmldesigner/designercore/metainfo/sourcepathcontextid.h deleted file mode 100644 index 5121a44d04f..00000000000 --- a/src/plugins/qmldesigner/designercore/metainfo/sourcepathcontextid.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2019 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#pragma once - -#include - -namespace QmlDesigner { - -class SourcePathContextId -{ -public: - constexpr SourcePathContextId() = default; - - SourcePathContextId(const char *) = delete; - - SourcePathContextId(int directoryPathId) - : directoryPathId(directoryPathId) - {} - - bool isValid() const { return directoryPathId >= 0; } - - friend bool operator==(SourcePathContextId first, SourcePathContextId second) - { - return first.isValid() && first.directoryPathId == second.directoryPathId; - } - - friend bool operator!=(SourcePathContextId first, SourcePathContextId second) - { - return !(first == second); - } - - friend bool operator<(SourcePathContextId first, SourcePathContextId second) - { - return first.directoryPathId < second.directoryPathId; - } - -public: - int directoryPathId = -1; -}; - -using SourcePathContextIds = std::vector; - -} // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/metainfo/projectstorage.h b/src/plugins/qmldesigner/designercore/projectstorage/projectstorage.h similarity index 99% rename from src/plugins/qmldesigner/designercore/metainfo/projectstorage.h rename to src/plugins/qmldesigner/designercore/projectstorage/projectstorage.h index c81d1f6c4ee..574e62581a9 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/projectstorage.h +++ b/src/plugins/qmldesigner/designercore/projectstorage/projectstorage.h @@ -239,14 +239,14 @@ private: if (!isInitialized) { Sqlite::ExclusiveTransaction transaction{database}; + createSourceContextsTable(database); + createSourcesTable(database); createTypesTable(database); createQualifiedTypeNamesTable(database); createPropertyDeclarationsTable(database); createEnumValuesTable(database); createMethodsTable(database); createSignalsTable(database); - createSourceContextsTable(database); - createSourcesTable(database); transaction.commit(); @@ -254,6 +254,39 @@ private: } } + void createSourceContextsTable(Database &database) + { + Sqlite::Table table; + table.setUseIfNotExists(true); + table.setName("sourceContexts"); + table.addColumn("sourceContextId", Sqlite::ColumnType::Integer, {Sqlite::PrimaryKey{}}); + const Sqlite::Column &sourceContextPathColumn = table.addColumn("sourceContextPath"); + + table.addUniqueIndex({sourceContextPathColumn}); + + table.initialize(database); + } + + void createSourcesTable(Database &database) + { + Sqlite::Table table; + table.setUseIfNotExists(true); + table.setName("sources"); + table.addColumn("sourceId", Sqlite::ColumnType::Integer, {Sqlite::PrimaryKey{}}); + const Sqlite::Column &sourceContextIdColumn = table.addColumn( + "sourceContextId", + Sqlite::ColumnType::Integer, + {Sqlite::NotNull{}, + Sqlite::ForeignKey{"sourceContexts", + "sourceContextId", + Sqlite::ForeignKeyAction::NoAction, + Sqlite::ForeignKeyAction::Cascade}}); + const Sqlite::Column &sourceNameColumn = table.addColumn("sourceName"); + table.addUniqueIndex({sourceContextIdColumn, sourceNameColumn}); + + table.initialize(database); + } + void createPropertyDeclarationsTable(Database &database) { Sqlite::Table table; @@ -340,40 +373,6 @@ private: table.initialize(database); } - - void createSourceContextsTable(Database &database) - { - Sqlite::Table table; - table.setUseIfNotExists(true); - table.setName("sourceContexts"); - table.addColumn("sourceContextId", Sqlite::ColumnType::Integer, {Sqlite::PrimaryKey{}}); - const Sqlite::Column &sourceContextPathColumn = table.addColumn("sourceContextPath"); - - table.addUniqueIndex({sourceContextPathColumn}); - - table.initialize(database); - } - - void createSourcesTable(Database &database) - { - Sqlite::Table table; - table.setUseIfNotExists(true); - table.setName("sources"); - table.addColumn("sourceId", Sqlite::ColumnType::Integer, {Sqlite::PrimaryKey{}}); - const Sqlite::Column &sourceContextIdColumn = table.addColumn( - "sourceContextId", - Sqlite::ColumnType::Integer, - {Sqlite::NotNull{}, - Sqlite::ForeignKey{"sourceContexts", - "sourceContextId", - Sqlite::ForeignKeyAction::NoAction, - Sqlite::ForeignKeyAction::Cascade}}); - const Sqlite::Column &sourceNameColumn = table.addColumn("sourceName", - Sqlite::ColumnType::Text); - table.addUniqueIndex({sourceContextIdColumn, sourceNameColumn}); - - table.initialize(database); - } }; public: diff --git a/src/plugins/qmldesigner/designercore/metainfo/projectstorageexceptions.h b/src/plugins/qmldesigner/designercore/projectstorage/projectstorageexceptions.h similarity index 100% rename from src/plugins/qmldesigner/designercore/metainfo/projectstorageexceptions.h rename to src/plugins/qmldesigner/designercore/projectstorage/projectstorageexceptions.h diff --git a/src/plugins/qmldesigner/designercore/metainfo/projectstoragetypes.h b/src/plugins/qmldesigner/designercore/projectstorage/projectstoragetypes.h similarity index 100% rename from src/plugins/qmldesigner/designercore/metainfo/projectstoragetypes.h rename to src/plugins/qmldesigner/designercore/projectstorage/projectstoragetypes.h diff --git a/src/plugins/qmldesigner/designercore/metainfo/sourcepath.h b/src/plugins/qmldesigner/designercore/projectstorage/sourcepath.h similarity index 100% rename from src/plugins/qmldesigner/designercore/metainfo/sourcepath.h rename to src/plugins/qmldesigner/designercore/projectstorage/sourcepath.h diff --git a/src/plugins/qmldesigner/designercore/metainfo/sourcepathview.h b/src/plugins/qmldesigner/designercore/projectstorage/sourcepathview.h similarity index 100% rename from src/plugins/qmldesigner/designercore/metainfo/sourcepathview.h rename to src/plugins/qmldesigner/designercore/projectstorage/sourcepathview.h diff --git a/src/plugins/qmldesigner/designercore/metainfo/storagecache.h b/src/plugins/qmldesigner/designercore/projectstorage/storagecache.h similarity index 100% rename from src/plugins/qmldesigner/designercore/metainfo/storagecache.h rename to src/plugins/qmldesigner/designercore/projectstorage/storagecache.h diff --git a/src/plugins/qmldesigner/designercore/metainfo/storagecacheentry.h b/src/plugins/qmldesigner/designercore/projectstorage/storagecacheentry.h similarity index 100% rename from src/plugins/qmldesigner/designercore/metainfo/storagecacheentry.h rename to src/plugins/qmldesigner/designercore/projectstorage/storagecacheentry.h diff --git a/src/plugins/qmldesigner/designercore/metainfo/storagecachefwd.h b/src/plugins/qmldesigner/designercore/projectstorage/storagecachefwd.h similarity index 100% rename from src/plugins/qmldesigner/designercore/metainfo/storagecachefwd.h rename to src/plugins/qmldesigner/designercore/projectstorage/storagecachefwd.h diff --git a/src/plugins/qmldesigner/qmldesignerunittestfiles.pri b/src/plugins/qmldesigner/qmldesignerunittestfiles.pri index 97df5729d60..c6ddd177635 100644 --- a/src/plugins/qmldesigner/qmldesignerunittestfiles.pri +++ b/src/plugins/qmldesigner/qmldesignerunittestfiles.pri @@ -53,14 +53,12 @@ HEADERS += \ $$PWD/designercore/include/import.h \ $$PWD/designercore/include/abstractproperty.h \ $$PWD/designercore/include/abstractview.h \ - $$PWD/designercore/metainfo/storagecache.h \ - $$PWD/designercore/metainfo/storagecacheentry.h \ - $$PWD/designercore/metainfo/storagecachefwd.h \ - $$PWD/designercore/metainfo/sourceid.h \ - $$PWD/designercore/metainfo/sourcepathcontextid.h \ - $$PWD/designercore/metainfo/sourcepath.h \ - $$PWD/designercore/metainfo/sourcepathview.h \ - $$PWD/designercore/metainfo/sourcepathcache.h \ + $$PWD/designercore/projectstorage/storagecache.h \ + $$PWD/designercore/projectstorage/storagecacheentry.h \ + $$PWD/designercore/projectstorage/storagecachefwd.h \ + $$PWD/designercore/projectstorage/sourcepath.h \ + $$PWD/designercore/projectstorage/sourcepathview.h \ + $$PWD/designercore/projectstorage/sourcepathcache.h \ $$PWD/designercore/model/model_p.h \ $$PWD/designercore/include/qmldesignercorelib_global.h \ $$PWD/designercore/model/internalbindingproperty.h \ @@ -79,6 +77,6 @@ HEADERS += \ $$PWD/designercore/include/variantproperty.h \ $$PWD/designercore/rewritertransaction.h \ $$PWD/components/listmodeleditor/listmodeleditormodel.h \ - $$PWD/designercore/metainfo/projectstorage.h \ + $$PWD/designercore/projectstorage/projectstorage.h \ $$PWD/designercore/include/projectstorageids.h \ - $$PWD/designercore/metainfo/projectstoragetypes.h + $$PWD/designercore/projectstorage/projectstoragetypes.h diff --git a/tests/unit/unittest/gtest-creator-printing.cpp b/tests/unit/unittest/gtest-creator-printing.cpp index ad6587dcaf0..962b11efdd0 100644 --- a/tests/unit/unittest/gtest-creator-printing.cpp +++ b/tests/unit/unittest/gtest-creator-printing.cpp @@ -47,7 +47,6 @@ #include #include #include -#include #include #include #include @@ -58,6 +57,7 @@ #include #include #include +#include #include #include #include diff --git a/tests/unit/unittest/projectstorage-test.cpp b/tests/unit/unittest/projectstorage-test.cpp index 6cd0abf527c..8c45813ee02 100644 --- a/tests/unit/unittest/projectstorage-test.cpp +++ b/tests/unit/unittest/projectstorage-test.cpp @@ -27,8 +27,8 @@ #include "sqlitedatabasemock.h" -#include #include +#include #include #include #include diff --git a/tests/unit/unittest/projectstoragemock.h b/tests/unit/unittest/projectstoragemock.h index e670f4bd17e..9a4fdec1d88 100644 --- a/tests/unit/unittest/projectstoragemock.h +++ b/tests/unit/unittest/projectstoragemock.h @@ -29,7 +29,7 @@ #include "sqlitedatabasemock.h" -#include +#include #include class ProjectStorageMock diff --git a/tests/unit/unittest/sourcepath-test.cpp b/tests/unit/unittest/sourcepath-test.cpp index 38e26b4682d..4b2ffb083d2 100644 --- a/tests/unit/unittest/sourcepath-test.cpp +++ b/tests/unit/unittest/sourcepath-test.cpp @@ -25,7 +25,7 @@ #include "googletest.h" -#include +#include namespace { diff --git a/tests/unit/unittest/sourcepathview-test.cpp b/tests/unit/unittest/sourcepathview-test.cpp index 512464b4791..bb990bff7cb 100644 --- a/tests/unit/unittest/sourcepathview-test.cpp +++ b/tests/unit/unittest/sourcepathview-test.cpp @@ -25,7 +25,7 @@ #include "googletest.h" -#include +#include namespace { diff --git a/tests/unit/unittest/sqlitereadstatementmock.h b/tests/unit/unittest/sqlitereadstatementmock.h index 43219fbdb0e..c072eecf7da 100644 --- a/tests/unit/unittest/sqlitereadstatementmock.h +++ b/tests/unit/unittest/sqlitereadstatementmock.h @@ -29,12 +29,12 @@ #include #include -#include #include #include #include #include #include +#include #include #include #include diff --git a/tests/unit/unittest/storagecache-test.cpp b/tests/unit/unittest/storagecache-test.cpp index d1d10aec453..537918e5bc8 100644 --- a/tests/unit/unittest/storagecache-test.cpp +++ b/tests/unit/unittest/storagecache-test.cpp @@ -29,7 +29,7 @@ #include "projectstoragemock.h" #include "sqlitedatabasemock.h" -#include +#include #include #include