From 00f7dd4586b54218b5eee1d62f04c7a451e9da84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Fri, 24 Jul 2009 12:50:10 +0200 Subject: Do the scanning for include files in the background In order to speed up completion for include statements. Reviewed-by: Daniel Molkentin --- src/plugins/cpptools/cppcodecompletion.cpp | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) (limited to 'src/plugins/cpptools/cppcodecompletion.cpp') 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 #include -#include #include #include #include @@ -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()) { -- cgit v1.2.1