From bb026c2be411ebf74e24ae8c940c3e8480724e7d Mon Sep 17 00:00:00 2001 From: Zhang TingAn Date: Wed, 24 Jul 2024 15:03:06 +0800 Subject: [PATCH] fix: [project] set default working directory of Cmake project`s property Log: as title --- src/plugins/cxx/cmake/project/cmakeprojectgenerator.cpp | 4 ++-- .../cmake/project/properties/runCfgWidget/runconfigpane.cpp | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/plugins/cxx/cmake/project/cmakeprojectgenerator.cpp b/src/plugins/cxx/cmake/project/cmakeprojectgenerator.cpp index b5e2f9c36..192c4ad6a 100644 --- a/src/plugins/cxx/cmake/project/cmakeprojectgenerator.cpp +++ b/src/plugins/cxx/cmake/project/cmakeprojectgenerator.cpp @@ -601,8 +601,6 @@ void CmakeProjectGenerator::targetInitialized(const QString& workspace) void CmakeProjectGenerator::createTargetsRunConfigure(const QString &workDirectory, config::RunConfigure &runConfigure) { - Q_UNUSED(workDirectory) - if (!runConfigure.targetsRunConfigure.isEmpty()) return; @@ -613,6 +611,8 @@ void CmakeProjectGenerator::createTargetsRunConfigure(const QString &workDirecto TargetRunConfigure targetRunConfigure; targetRunConfigure.targetName = targetName; targetRunConfigure.targetPath = target.output; + auto targetFile = QFileInfo(targetRunConfigure.targetPath); + targetRunConfigure.workDirectory = targetFile.exists() ? targetFile.path() : workDirectory; runConfigure.targetsRunConfigure.push_back(targetRunConfigure); } diff --git a/src/plugins/cxx/cmake/project/properties/runCfgWidget/runconfigpane.cpp b/src/plugins/cxx/cmake/project/properties/runCfgWidget/runconfigpane.cpp index ad5cb24eb..57fb8106b 100644 --- a/src/plugins/cxx/cmake/project/properties/runCfgWidget/runconfigpane.cpp +++ b/src/plugins/cxx/cmake/project/properties/runCfgWidget/runconfigpane.cpp @@ -82,7 +82,6 @@ void RunConfigPane::setupUi() btnBrowser->setIconSize(QSize(24, 24)); btnBrowser->setFixedSize(36, 36); d->workingDirLineEdit = new DLineEdit(mainFrame); - d->workingDirLineEdit->lineEdit()->setReadOnly(true); connect(d->workingDirLineEdit, &DLineEdit::textChanged, [this](){ if (d->targetRunParam) d->targetRunParam->workDirectory = d->workingDirLineEdit->text().trimmed();