diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2014-11-27 10:49:18 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2014-12-15 15:58:25 +0100 |
commit | be4a0306965aecc701b0890d5339ed7f596e7793 (patch) | |
tree | 54c055ca2245f64015b37f69db7c97e01eb0bf9b /src/plugins/cpptools | |
parent | e3977de08eb5577222f01a9013185b036dee4564 (diff) | |
download | qt-creator-be4a0306965aecc701b0890d5339ed7f596e7793.tar.gz |
C++: handle case-insensitive file names in the WorkingCopy
... by keying on Utils::FileName
Task-number: QTCREATORBUG-12390
Change-Id: Ia1a59d2e422b4f92300ac6a8e0e52dd7456a6e70
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools')
-rw-r--r-- | src/plugins/cpptools/cppcodemodelinspectordumper.cpp | 4 | ||||
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager_test.cpp | 4 | ||||
-rw-r--r-- | src/plugins/cpptools/cppworkingcopy.h | 23 |
3 files changed, 24 insertions, 7 deletions
diff --git a/src/plugins/cpptools/cppcodemodelinspectordumper.cpp b/src/plugins/cpptools/cppcodemodelinspectordumper.cpp index 32c420b217..e0f44277c4 100644 --- a/src/plugins/cpptools/cppcodemodelinspectordumper.cpp +++ b/src/plugins/cpptools/cppcodemodelinspectordumper.cpp @@ -580,10 +580,10 @@ void Dumper::dumpWorkingCopy(const WorkingCopy &workingCopy) m_out << "Working Copy contains " << workingCopy.size() << " entries{{{1\n"; const QByteArray i1 = indent(1); - QHashIterator<QString, QPair<QByteArray, unsigned> > it = workingCopy.iterator(); + QHashIterator<::Utils::FileName, QPair<QByteArray, unsigned> > it = workingCopy.iterator(); while (it.hasNext()) { it.next(); - const QString filePath = it.key(); + const ::Utils::FileName &filePath = it.key(); unsigned sourcRevision = it.value().second; m_out << i1 << "rev=" << sourcRevision << ", " << filePath << "\n"; } diff --git a/src/plugins/cpptools/cppmodelmanager_test.cpp b/src/plugins/cpptools/cppmodelmanager_test.cpp index 0e7b35f364..bb0641a779 100644 --- a/src/plugins/cpptools/cppmodelmanager_test.cpp +++ b/src/plugins/cpptools/cppmodelmanager_test.cpp @@ -684,10 +684,10 @@ void CppToolsPlugin::test_modelmanager_extraeditorsupport_uiFiles() QCOMPARE(workingCopy.size(), 2); // mm->configurationFileName() and "ui_*.h" QStringList fileNamesInWorkinCopy; - QHashIterator<QString, QPair<QByteArray, unsigned> > it = workingCopy.iterator(); + QHashIterator<Utils::FileName, QPair<QByteArray, unsigned> > it = workingCopy.iterator(); while (it.hasNext()) { it.next(); - fileNamesInWorkinCopy << QFileInfo(it.key()).fileName(); + fileNamesInWorkinCopy << QFileInfo(it.key().toString()).fileName(); } fileNamesInWorkinCopy.sort(); const QString expectedUiHeaderFileName = _("ui_mainwindow.h"); diff --git a/src/plugins/cpptools/cppworkingcopy.h b/src/plugins/cpptools/cppworkingcopy.h index 4507c46127..088fd22a1e 100644 --- a/src/plugins/cpptools/cppworkingcopy.h +++ b/src/plugins/cpptools/cppworkingcopy.h @@ -33,6 +33,8 @@ #include "cpptools_global.h" +#include <utils/fileutils.h> + #include <QHash> #include <QString> #include <QPair> @@ -45,28 +47,43 @@ public: WorkingCopy(); void insert(const QString &fileName, const QByteArray &source, unsigned revision = 0) + { insert(Utils::FileName::fromString(fileName), source, revision); } + + void insert(const Utils::FileName &fileName, const QByteArray &source, unsigned revision = 0) { _elements.insert(fileName, qMakePair(source, revision)); } bool contains(const QString &fileName) const + { return contains(Utils::FileName::fromString(fileName)); } + + bool contains(const Utils::FileName &fileName) const { return _elements.contains(fileName); } QByteArray source(const QString &fileName) const + { return source(Utils::FileName::fromString(fileName)); } + + QByteArray source(const Utils::FileName &fileName) const { return _elements.value(fileName).first; } unsigned revision(const QString &fileName) const + { return revision(Utils::FileName::fromString(fileName)); } + + unsigned revision(const Utils::FileName &fileName) const { return _elements.value(fileName).second; } QPair<QByteArray, unsigned> get(const QString &fileName) const + { return get(Utils::FileName::fromString(fileName)); } + + QPair<QByteArray, unsigned> get(const Utils::FileName &fileName) const { return _elements.value(fileName); } - QHashIterator<QString, QPair<QByteArray, unsigned> > iterator() const - { return QHashIterator<QString, QPair<QByteArray, unsigned> >(_elements); } + QHashIterator<Utils::FileName, QPair<QByteArray, unsigned> > iterator() const + { return QHashIterator<Utils::FileName, QPair<QByteArray, unsigned> >(_elements); } int size() const { return _elements.size(); } private: - typedef QHash<QString, QPair<QByteArray, unsigned> > Table; + typedef QHash<Utils::FileName, QPair<QByteArray, unsigned> > Table; Table _elements; }; |