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:
Kai Koehne
2010-06-10 11:55:40 +02:00
parent cdbb7c6a85
commit 61c1c59f87
4 changed files with 9 additions and 9 deletions

View File

@@ -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);

View File

@@ -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();
} }

View File

@@ -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;

View File

@@ -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);
} }
} }