aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmakeprojectmanager/qmakenodes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmakeprojectmanager/qmakenodes.cpp')
-rw-r--r--src/plugins/qmakeprojectmanager/qmakenodes.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp
index 3a0511c73e1..1340797eafd 100644
--- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp
@@ -2483,21 +2483,24 @@ QString QmakeProFileNode::buildDir(QmakeBuildConfiguration *bc) const
return QDir::cleanPath(QDir(bc->buildDirectory().toString()).absoluteFilePath(relativeDir));
}
-QString QmakeProFileNode::uiDirectory(const QString &buildDir) const
+Utils::FileName QmakeProFileNode::uiDirectory(const Utils::FileName &buildDir) const
{
+ if (buildDir.isEmpty())
+ return buildDir;
const QmakeVariablesHash::const_iterator it = m_varValues.constFind(UiDirVar);
if (it != m_varValues.constEnd() && !it.value().isEmpty())
- return it.value().front();
+ return Utils::FileName::fromString(it.value().front());
return buildDir;
}
-QString QmakeProFileNode::uiHeaderFile(const QString &uiDir, const FileName &formFile)
+QString QmakeProFileNode::uiHeaderFile(const Utils::FileName &uiDir, const FileName &formFile)
{
- QString uiHeaderFilePath = uiDir;
- uiHeaderFilePath += QLatin1String("/ui_");
- uiHeaderFilePath += formFile.toFileInfo().completeBaseName();
- uiHeaderFilePath += QLatin1String(".h");
- return QDir::cleanPath(uiHeaderFilePath);
+ if (uiDir.isEmpty())
+ return QString();
+
+ Utils::FileName uiHeaderFilePath = uiDir;
+ uiHeaderFilePath.appendPath(QLatin1String("ui_") + formFile.toFileInfo().completeBaseName() + QLatin1String(".h"));
+ return QDir::cleanPath(uiHeaderFilePath.toString());
}
void QmakeProFileNode::updateUiFiles(const QString &buildDir)
@@ -2514,8 +2517,11 @@ void QmakeProFileNode::updateUiFiles(const QString &buildDir)
const QList<FileNode*> uiFiles = uiFilesVisitor.uiFileNodes;
// Find the UiDir, there can only ever be one
- const QString uiDir = uiDirectory(buildDir);
- foreach (const FileNode *uiFile, uiFiles)
- m_uiFiles.insert(uiFile->path().toString(), uiHeaderFile(uiDir, uiFile->path()));
+ const Utils::FileName uiDir = uiDirectory(Utils::FileName::fromString(buildDir));
+ foreach (const FileNode *uiFile, uiFiles) {
+ QString headerFile = uiHeaderFile(uiDir, uiFile->path());
+ if (!headerFile.isEmpty())
+ m_uiFiles.insert(uiFile->path().toString(), headerFile);
+ }
}
}