forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.7'
Conflicts: qbs/modules/qtc/qtc.qbs qtcreator.pri Change-Id: I29916313f12e25f3942ac926f8e4d4490074978e
This commit is contained in:
@@ -129,28 +129,10 @@ void CompilerOptionsBuilder::enableExceptions()
|
||||
add(QLatin1String("-fexceptions"));
|
||||
}
|
||||
|
||||
static Utils::FileName absoluteDirectory(const QString &filePath)
|
||||
{
|
||||
return Utils::FileName::fromString(QFileInfo(filePath + '/').absolutePath());
|
||||
}
|
||||
|
||||
static Utils::FileName projectTopLevelDirectory(const ProjectPart &projectPart)
|
||||
{
|
||||
if (!projectPart.project)
|
||||
return Utils::FileName();
|
||||
const Utils::FileName result = projectPart.project->projectDirectory();
|
||||
const Utils::FileName vcsTopLevel = Utils::FileName::fromString(
|
||||
Core::VcsManager::findTopLevelForDirectory(result.toString()));
|
||||
if (result.isChildOf(vcsTopLevel))
|
||||
return vcsTopLevel;
|
||||
return result;
|
||||
}
|
||||
|
||||
void CompilerOptionsBuilder::addHeaderPathOptions()
|
||||
{
|
||||
typedef ProjectPartHeaderPath HeaderPath;
|
||||
const QString defaultPrefix = includeDirOption();
|
||||
const Utils::FileName projectDirectory = projectTopLevelDirectory(m_projectPart);
|
||||
|
||||
QStringList result;
|
||||
|
||||
@@ -170,14 +152,7 @@ void CompilerOptionsBuilder::addHeaderPathOptions()
|
||||
default: // This shouldn't happen, but let's be nice..:
|
||||
// intentional fall-through:
|
||||
case HeaderPath::IncludePath:
|
||||
path = absoluteDirectory(headerPath.path);
|
||||
if (projectDirectory.isEmpty()
|
||||
|| path == projectDirectory
|
||||
|| path.isChildOf(projectDirectory)) {
|
||||
prefix = defaultPrefix;
|
||||
} else {
|
||||
prefix = SYSTEM_INCLUDE_PREFIX;
|
||||
}
|
||||
prefix = defaultPrefix;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ class CppCurrentDocumentFilterTestCase
|
||||
public:
|
||||
CppCurrentDocumentFilterTestCase(const QString &fileName,
|
||||
const ResultDataList &expectedResults)
|
||||
: BasicLocatorFilterTest(PluginManager::getObject<CppCurrentDocumentFilter>())
|
||||
: BasicLocatorFilterTest(CppTools::CppModelManager::instance()->currentDocumentFilter())
|
||||
, m_editor(0)
|
||||
, m_fileName(fileName)
|
||||
{
|
||||
@@ -158,9 +158,11 @@ void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter_data()
|
||||
QTest::addColumn<QString>("searchText");
|
||||
QTest::addColumn<ResultDataList>("expectedResults");
|
||||
|
||||
ILocatorFilter *cppFunctionsFilter = PluginManager::getObject<CppFunctionsFilter>();
|
||||
ILocatorFilter *cppClassesFilter = PluginManager::getObject<CppClassesFilter>();
|
||||
ILocatorFilter *cppLocatorFilter = PluginManager::getObject<CppLocatorFilter>();
|
||||
CppModelManager *cppModelManager = CppModelManager::instance();
|
||||
|
||||
ILocatorFilter *cppFunctionsFilter = cppModelManager->functionsFilter();
|
||||
ILocatorFilter *cppClassesFilter = cppModelManager->classesFilter();
|
||||
ILocatorFilter *cppLocatorFilter = cppModelManager->locatorFilter();
|
||||
|
||||
MyTestDataDir testDirectory("testdata_basic");
|
||||
const QString testFile = testDirectory.file("file1.cpp");
|
||||
|
||||
@@ -390,6 +390,36 @@ void CppModelManager::setCurrentDocumentFilter(std::unique_ptr<Core::ILocatorFil
|
||||
setFilter(d->m_currentDocumentFilter, std::move(filter));
|
||||
}
|
||||
|
||||
Core::ILocatorFilter *CppModelManager::locatorFilter() const
|
||||
{
|
||||
return d->m_locatorFilter.get();
|
||||
}
|
||||
|
||||
Core::ILocatorFilter *CppModelManager::classesFilter() const
|
||||
{
|
||||
return d->m_classesFilter.get();
|
||||
}
|
||||
|
||||
Core::ILocatorFilter *CppModelManager::includesFilter() const
|
||||
{
|
||||
return d->m_includesFilter.get();
|
||||
}
|
||||
|
||||
Core::ILocatorFilter *CppModelManager::functionsFilter() const
|
||||
{
|
||||
return d->m_functionsFilter.get();
|
||||
}
|
||||
|
||||
Core::IFindFilter *CppModelManager::symbolsFindFilter() const
|
||||
{
|
||||
return d->m_symbolsFindFilter.get();
|
||||
}
|
||||
|
||||
Core::ILocatorFilter *CppModelManager::currentDocumentFilter() const
|
||||
{
|
||||
return d->m_currentDocumentFilter.get();
|
||||
}
|
||||
|
||||
FollowSymbolInterface &CppModelManager::followSymbolInterface() const
|
||||
{
|
||||
return d->m_activeModelManagerSupport->followSymbolInterface();
|
||||
|
||||
@@ -219,6 +219,13 @@ public:
|
||||
void setSymbolsFindFilter(std::unique_ptr<Core::IFindFilter> &&filter);
|
||||
void setCurrentDocumentFilter(std::unique_ptr<Core::ILocatorFilter> &&filter);
|
||||
|
||||
Core::ILocatorFilter *locatorFilter() const;
|
||||
Core::ILocatorFilter *classesFilter() const;
|
||||
Core::ILocatorFilter *includesFilter() const;
|
||||
Core::ILocatorFilter *functionsFilter() const;
|
||||
Core::IFindFilter *symbolsFindFilter() const;
|
||||
Core::ILocatorFilter *currentDocumentFilter() const;
|
||||
|
||||
void renameIncludes(const QString &oldFileName, const QString &newFileName);
|
||||
|
||||
signals:
|
||||
|
||||
Reference in New Issue
Block a user