diff options
author | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2009-07-24 12:50:10 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2009-07-24 12:52:42 +0200 |
commit | 00f7dd4586b54218b5eee1d62f04c7a451e9da84 (patch) | |
tree | a54ae9a6bdfbc07f500ae06bb125e38b9ac8a04c /src/plugins/cpptools/cppcodecompletion.cpp | |
parent | f4ec27cdc2ed45cd1c7d82bad20e0e05ca88f0e3 (diff) | |
download | qt-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.cpp | 19 |
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()) { |