forked from qt-creator/qt-creator
QmlDesigner: Explicit instantiation of ProjectStorage
Change-Id: If56a3b7f8189c998a6335a31ecca8a82cb269604 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -420,7 +420,7 @@ extend_qtc_plugin(QmlDesigner
|
|||||||
filestatuscache.cpp filestatuscache.h
|
filestatuscache.cpp filestatuscache.h
|
||||||
nonlockingmutex.h
|
nonlockingmutex.h
|
||||||
projectstorageinterface.h
|
projectstorageinterface.h
|
||||||
projectstorage.h
|
projectstorage.cpp projectstorage.h
|
||||||
projectstoragepathwatcher.h
|
projectstoragepathwatcher.h
|
||||||
projectstoragepathwatcherinterface.h
|
projectstoragepathwatcherinterface.h
|
||||||
projectstoragepathwatchernotifierinterface.h
|
projectstoragepathwatchernotifierinterface.h
|
||||||
|
@@ -0,0 +1,30 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2022 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include "projectstorage.h"
|
||||||
|
|
||||||
|
#include <sqlitedatabase.h>
|
||||||
|
|
||||||
|
template class QmlDesigner::ProjectStorage<Sqlite::Database>;
|
@@ -31,6 +31,7 @@
|
|||||||
#include "storagecache.h"
|
#include "storagecache.h"
|
||||||
|
|
||||||
#include <sqlitealgorithms.h>
|
#include <sqlitealgorithms.h>
|
||||||
|
#include <sqlitedatabase.h>
|
||||||
#include <sqlitetable.h>
|
#include <sqlitetable.h>
|
||||||
#include <sqlitetransaction.h>
|
#include <sqlitetransaction.h>
|
||||||
|
|
||||||
@@ -828,29 +829,6 @@ private:
|
|||||||
&typeId);
|
&typeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void prepareLinkingOfAliasPropertiesDeclarationsWithAliasId(
|
|
||||||
PropertyDeclarationId aliasId, AliasPropertyDeclarations &relinkableAliasPropertyDeclarations)
|
|
||||||
{
|
|
||||||
auto callback = [&](long long propertyDeclarationId,
|
|
||||||
long long propertyImportedTypeNameId,
|
|
||||||
long long aliasPropertyDeclarationId) {
|
|
||||||
auto aliasPropertyName = selectPropertyNameStatement.template value<Utils::SmallString>(
|
|
||||||
aliasPropertyDeclarationId);
|
|
||||||
|
|
||||||
relinkableAliasPropertyDeclarations
|
|
||||||
.emplace_back(PropertyDeclarationId{propertyDeclarationId},
|
|
||||||
ImportedTypeNameId{propertyImportedTypeNameId},
|
|
||||||
std::move(aliasPropertyName));
|
|
||||||
|
|
||||||
updateAliasPropertyDeclarationToNullStatement.write(propertyDeclarationId);
|
|
||||||
|
|
||||||
return Sqlite::CallbackControl::Continue;
|
|
||||||
};
|
|
||||||
|
|
||||||
selectAliasPropertiesDeclarationForPropertiesWithAliasIdStatement.readCallback(callback,
|
|
||||||
&aliasId);
|
|
||||||
}
|
|
||||||
|
|
||||||
void handlePropertyDeclarationWithPropertyType(TypeId typeId,
|
void handlePropertyDeclarationWithPropertyType(TypeId typeId,
|
||||||
PropertyDeclarations &relinkablePropertyDeclarations)
|
PropertyDeclarations &relinkablePropertyDeclarations)
|
||||||
{
|
{
|
||||||
@@ -2870,5 +2848,5 @@ public:
|
|||||||
"FROM imports",
|
"FROM imports",
|
||||||
database};
|
database};
|
||||||
};
|
};
|
||||||
|
extern template class ProjectStorage<Sqlite::Database>;
|
||||||
} // namespace QmlDesigner
|
} // namespace QmlDesigner
|
||||||
|
@@ -466,6 +466,7 @@ Project {
|
|||||||
"filesystem.h",
|
"filesystem.h",
|
||||||
"filesysteminterface.h",
|
"filesysteminterface.h",
|
||||||
"nonlockingmutex.h",
|
"nonlockingmutex.h",
|
||||||
|
"projectstorage.cpp",
|
||||||
"projectstorage.h",
|
"projectstorage.h",
|
||||||
"projectstorageinterface.h",
|
"projectstorageinterface.h",
|
||||||
"projectstoragepathwatcher.h",
|
"projectstoragepathwatcher.h",
|
||||||
|
@@ -250,7 +250,7 @@ extend_qtc_test(unittest
|
|||||||
projectstorage/filestatuscache.cpp projectstorage/filestatuscache.h
|
projectstorage/filestatuscache.cpp projectstorage/filestatuscache.h
|
||||||
projectstorage/nonlockingmutex.h
|
projectstorage/nonlockingmutex.h
|
||||||
projectstorage/projectstorageinterface.h
|
projectstorage/projectstorageinterface.h
|
||||||
projectstorage/projectstorage.h
|
projectstorage/projectstorage.cpp projectstorage/projectstorage.h
|
||||||
projectstorage/projectstoragepathwatcher.h
|
projectstorage/projectstoragepathwatcher.h
|
||||||
projectstorage/projectstoragepathwatcherinterface.h
|
projectstorage/projectstoragepathwatcherinterface.h
|
||||||
projectstorage/projectstoragepathwatchernotifierinterface.h
|
projectstorage/projectstoragepathwatchernotifierinterface.h
|
||||||
|
Reference in New Issue
Block a user