summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodecompletion.cpp
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-07-24 12:50:10 +0200
committerThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-07-24 12:52:42 +0200
commit00f7dd4586b54218b5eee1d62f04c7a451e9da84 (patch)
treea54ae9a6bdfbc07f500ae06bb125e38b9ac8a04c /src/plugins/cpptools/cppcodecompletion.cpp
parentf4ec27cdc2ed45cd1c7d82bad20e0e05ca88f0e3 (diff)
downloadqt-creator-00f7dd4586b54218b5eee1d62f04c7a451e9da84.tar.gz
Do the scanning for include files in the background
In order to speed up completion for include statements. Reviewed-by: Daniel Molkentin <daniel.molkentin@nokia.com>
Diffstat (limited to 'src/plugins/cpptools/cppcodecompletion.cpp')
-rw-r--r--src/plugins/cpptools/cppcodecompletion.cpp19
1 files changed, 1 insertions, 18 deletions
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index 174234f076..f3c9a9d53f 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -52,7 +52,6 @@
#include <coreplugin/icore.h>
#include <coreplugin/editormanager/editormanager.h>
-#include <coreplugin/mimedatabase.h>
#include <texteditor/itexteditor.h>
#include <texteditor/itexteditable.h>
#include <texteditor/basetexteditor.h>
@@ -1216,29 +1215,13 @@ bool CppCodeCompletion::completeInclude(const QTextCursor &cursor)
if (!includePaths.contains(currentFilePath))
includePaths.append(currentFilePath);
- const Core::MimeDatabase *mimeDatabase = Core::ICore::instance()->mimeDatabase();
- const Core::MimeType mimeType = mimeDatabase->findByType(QLatin1String("text/x-c++hdr"));
- const QStringList suffixes = mimeType.suffixes();
-
foreach (const QString &includePath, includePaths) {
QString realPath = includePath;
if (!directoryPrefix.isEmpty()) {
realPath += QLatin1Char('/');
realPath += directoryPrefix;
}
- // TODO: This should be cached
- QDirIterator i(realPath, QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
- while (i.hasNext()) {
- const QString fileName = i.next();
- const QFileInfo fileInfo = i.fileInfo();
- const QString suffix = fileInfo.suffix();
- if (suffix.isEmpty() || suffixes.contains(suffix)) {
- QString text = fileName.mid(realPath.length() + 1);
- if (fileInfo.isDir())
- text += QLatin1Char('/');
- items.append(text);
- }
- }
+ items.append(m_manager->includesInPath(realPath));
}
if (!items.isEmpty()) {