forked from qt-creator/qt-creator
QmlDesigner: Store imports in a list, not a set
The order of imports does matter, therefore it should also be represented as a list in the model. Reviewed-by: Marco Bubke
This commit is contained in:
@@ -96,7 +96,7 @@ public:
|
|||||||
// Editing sub-components:
|
// Editing sub-components:
|
||||||
|
|
||||||
// Imports:
|
// Imports:
|
||||||
QSet<Import> imports() const;
|
QList<Import> imports() const;
|
||||||
void addImport(const Import &import);
|
void addImport(const Import &import);
|
||||||
void removeImport(const Import &import);
|
void removeImport(const Import &import);
|
||||||
|
|
||||||
|
@@ -122,13 +122,13 @@ void ModelPrivate::addImport(const Import &import)
|
|||||||
if (m_imports.contains(import))
|
if (m_imports.contains(import))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_imports.insert(import);
|
m_imports.append(import);
|
||||||
notifyImportAdded(import);
|
notifyImportAdded(import);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModelPrivate::removeImport(const Import &import)
|
void ModelPrivate::removeImport(const Import &import)
|
||||||
{
|
{
|
||||||
if (!m_imports.remove(import))
|
if (!m_imports.removeOne(import))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
notifyImportRemoved(import);
|
notifyImportRemoved(import);
|
||||||
@@ -1004,7 +1004,7 @@ Model *Model::create(QString type, int major, int minor)
|
|||||||
// return subModel;
|
// return subModel;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
QSet<Import> Model::imports() const
|
QList<Import> Model::imports() const
|
||||||
{
|
{
|
||||||
return m_d->imports();
|
return m_d->imports();
|
||||||
}
|
}
|
||||||
|
@@ -154,7 +154,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
// Imports:
|
// Imports:
|
||||||
QSet<Import> imports() const { return m_imports; }
|
QList<Import> imports() const { return m_imports; }
|
||||||
void addImport(const Import &import);
|
void addImport(const Import &import);
|
||||||
void removeImport(const Import &import);
|
void removeImport(const Import &import);
|
||||||
void notifyImportAdded(const Import &import) const;
|
void notifyImportAdded(const Import &import) const;
|
||||||
@@ -197,7 +197,7 @@ private:
|
|||||||
Model *m_q;
|
Model *m_q;
|
||||||
MetaInfo m_metaInfo;
|
MetaInfo m_metaInfo;
|
||||||
|
|
||||||
QSet<Import> m_imports;
|
QList<Import> m_imports;
|
||||||
QList<QWeakPointer<AbstractView> > m_viewList;
|
QList<QWeakPointer<AbstractView> > m_viewList;
|
||||||
QList<InternalNodePointer> m_selectedNodeList;
|
QList<InternalNodePointer> m_selectedNodeList;
|
||||||
QHash<QString,InternalNodePointer> m_idNodeHash;
|
QHash<QString,InternalNodePointer> m_idNodeHash;
|
||||||
|
@@ -491,7 +491,7 @@ bool TextToModelMerger::isActive() const
|
|||||||
void TextToModelMerger::setupImports(const Document::Ptr &doc,
|
void TextToModelMerger::setupImports(const Document::Ptr &doc,
|
||||||
DifferenceHandler &differenceHandler)
|
DifferenceHandler &differenceHandler)
|
||||||
{
|
{
|
||||||
QSet<Import> existingImports = m_rewriterView->model()->imports();
|
QList<Import> existingImports = m_rewriterView->model()->imports();
|
||||||
|
|
||||||
for (UiImportList *iter = doc->qmlProgram()->imports; iter; iter = iter->next) {
|
for (UiImportList *iter = doc->qmlProgram()->imports; iter; iter = iter->next) {
|
||||||
UiImport *import = iter->import;
|
UiImport *import = iter->import;
|
||||||
@@ -510,13 +510,13 @@ void TextToModelMerger::setupImports(const Document::Ptr &doc,
|
|||||||
const Import newImport = Import::createFileImport(strippedFileName,
|
const Import newImport = Import::createFileImport(strippedFileName,
|
||||||
version, as);
|
version, as);
|
||||||
|
|
||||||
if (!existingImports.remove(newImport))
|
if (!existingImports.removeOne(newImport))
|
||||||
differenceHandler.modelMissesImport(newImport);
|
differenceHandler.modelMissesImport(newImport);
|
||||||
} else {
|
} else {
|
||||||
const Import newImport =
|
const Import newImport =
|
||||||
Import::createLibraryImport(flatten(import->importUri), as, version);
|
Import::createLibraryImport(flatten(import->importUri), as, version);
|
||||||
|
|
||||||
if (!existingImports.remove(newImport))
|
if (!existingImports.removeOne(newImport))
|
||||||
differenceHandler.modelMissesImport(newImport);
|
differenceHandler.modelMissesImport(newImport);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user