forked from qt-creator/qt-creator
QmlDesigner.model: adding hasImport
The method hasImport() is able to ignore alias imports.
This commit is contained in:
@@ -104,6 +104,7 @@ public:
|
||||
// Imports:
|
||||
QList<Import> imports() const;
|
||||
void changeImports(const QList<Import> &importsToBeAdded, const QList<Import> &importsToBeRemoved);
|
||||
bool hasImport(const Import &import, bool ignoreAlias = true);
|
||||
|
||||
RewriterView *rewriterView() const;
|
||||
|
||||
|
||||
@@ -1723,6 +1723,24 @@ void Model::changeImports(const QList<Import> &importsToBeAdded, const QList<Imp
|
||||
m_d->changeImports(importsToBeAdded, importsToBeRemoved);
|
||||
}
|
||||
|
||||
bool Model::hasImport(const Import &import, bool ignoreAlias)
|
||||
{
|
||||
if (imports().contains(import))
|
||||
return true;
|
||||
if (!ignoreAlias)
|
||||
return false;
|
||||
|
||||
foreach (const Import &existingImport, imports()) {
|
||||
if (existingImport.isFileImport() && import.isFileImport())
|
||||
if (existingImport.file() == import.file() && existingImport.version() == import.version())
|
||||
return true;
|
||||
if (existingImport.isLibraryImport() && import.isLibraryImport())
|
||||
if (existingImport.url() == import.url() && existingImport.version() == import.version())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
RewriterView *Model::rewriterView() const
|
||||
{
|
||||
return m_d->rewriterView();
|
||||
|
||||
Reference in New Issue
Block a user