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:
|
// Imports:
|
||||||
QList<Import> imports() const;
|
QList<Import> imports() const;
|
||||||
void changeImports(const QList<Import> &importsToBeAdded, const QList<Import> &importsToBeRemoved);
|
void changeImports(const QList<Import> &importsToBeAdded, const QList<Import> &importsToBeRemoved);
|
||||||
|
bool hasImport(const Import &import, bool ignoreAlias = true);
|
||||||
|
|
||||||
RewriterView *rewriterView() const;
|
RewriterView *rewriterView() const;
|
||||||
|
|
||||||
|
|||||||
@@ -1723,6 +1723,24 @@ void Model::changeImports(const QList<Import> &importsToBeAdded, const QList<Imp
|
|||||||
m_d->changeImports(importsToBeAdded, importsToBeRemoved);
|
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
|
RewriterView *Model::rewriterView() const
|
||||||
{
|
{
|
||||||
return m_d->rewriterView();
|
return m_d->rewriterView();
|
||||||
|
|||||||
Reference in New Issue
Block a user