CMake: Get rid of <Source Directory> in server-mode

Change-Id: Ifa4f813d577ab64351d25eb4be1dc7981687da23
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2017-08-02 15:10:42 +02:00
parent ded65d888b
commit 68768d8e61
5 changed files with 56 additions and 38 deletions

View File

@@ -37,18 +37,16 @@ using namespace CMakeProjectManager;
using namespace CMakeProjectManager::Internal;
CMakeInputsNode::CMakeInputsNode(const Utils::FileName &cmakeLists) :
ProjectExplorer::ProjectNode(CMakeInputsNode::inputsPathFromCMakeListsPath(cmakeLists))
ProjectExplorer::ProjectNode(cmakeLists, generateId(cmakeLists))
{
setPriority(Node::DefaultPriority - 10); // Bottom most!
setDisplayName(QCoreApplication::translate("CMakeFilesProjectNode", "CMake Modules"));
setIcon(QIcon(":/projectexplorer/images/session.png")); // TODO: Use a better icon!
}
Utils::FileName CMakeInputsNode::inputsPathFromCMakeListsPath(const Utils::FileName &cmakeLists)
QByteArray CMakeInputsNode::generateId(const Utils::FileName &inputFile)
{
Utils::FileName result = cmakeLists;
result.appendPath("cmakeInputs"); // cmakeLists is a file, so this can not exist on disk
return result;
return inputFile.toString().toUtf8() + "/cmakeInputs";
}
bool CMakeInputsNode::showInSimpleTree() const
@@ -91,13 +89,18 @@ QString CMakeProjectNode::tooltip() const
return QString();
}
CMakeTargetNode::CMakeTargetNode(const Utils::FileName &directory) :
ProjectExplorer::ProjectNode(directory)
CMakeTargetNode::CMakeTargetNode(const Utils::FileName &directory, const QString &target) :
ProjectExplorer::ProjectNode(directory, generateId(directory, target))
{
setPriority(Node::DefaultProjectPriority + 900);
setIcon(QIcon(":/projectexplorer/images/build.png")); // TODO: Use proper icon!
}
QByteArray CMakeTargetNode::generateId(const Utils::FileName &directory, const QString &target)
{
return directory.toString().toUtf8() + "///::///" + target.toUtf8();
}
bool CMakeTargetNode::showInSimpleTree() const
{
return true;