aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-08-17 12:51:13 +0200
committerhjk <hjk@qt.io>2023-08-17 11:58:41 +0000
commitec7abcf98c5915364cd354d8ee62c645bcdd3a8d (patch)
tree2d7c7c8eb864b979d4b940d51364e8f2b35d6cf0
parent3fa4fa5cf331b81a12fedcf67514094c741f3bf0 (diff)
Utils: Make FilePathAspect::setDefaultValue take a QString
This sets the unexpanded value, so going to a "cooked" FilePath can at least theoretically break. On the user side it saves a roundtrip in a few cases, but is more ugly when the input is already a proper FilePath. Change-Id: I8a7e8f6d46fcc34c96b55e41d656dca933fbef4e Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
-rw-r--r--src/libs/utils/aspects.cpp4
-rw-r--r--src/libs/utils/aspects.h2
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildstep.cpp2
-rw-r--r--src/plugins/conan/conansettings.cpp2
-rw-r--r--src/plugins/copilot/copilotsettings.cpp4
-rw-r--r--src/plugins/cpaster/fileshareprotocolsettingspage.cpp2
-rw-r--r--src/plugins/cppcheck/cppchecksettings.cpp4
-rw-r--r--src/plugins/docker/dockersettings.cpp2
-rw-r--r--src/plugins/haskell/haskellsettings.cpp4
-rw-r--r--src/plugins/perforce/perforcesettings.cpp3
-rw-r--r--src/plugins/terminal/terminalsettings.cpp8
-rw-r--r--src/plugins/vcpkg/vcpkgsettings.cpp4
-rw-r--r--src/plugins/vcsbase/commonvcssettings.cpp2
-rw-r--r--src/plugins/webassembly/webassemblysettings.cpp2
14 files changed, 23 insertions, 22 deletions
diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp
index 5cbd8f9bdb..cbb0b30070 100644
--- a/src/libs/utils/aspects.cpp
+++ b/src/libs/utils/aspects.cpp
@@ -1312,9 +1312,9 @@ void FilePathAspect::setValue(const QString &filePath, Announcement howToAnnounc
TypedAspect::setValue(filePath, howToAnnounce);
}
-void FilePathAspect::setDefaultValue(const FilePath &filePath)
+void FilePathAspect::setDefaultValue(const QString &filePath)
{
- TypedAspect::setDefaultValue(filePath.toUserOutput());
+ TypedAspect::setDefaultValue(filePath);
}
/*!
diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h
index 33e7260475..5779d45dd9 100644
--- a/src/libs/utils/aspects.h
+++ b/src/libs/utils/aspects.h
@@ -592,7 +592,7 @@ public:
QString value() const;
void setValue(const FilePath &filePath, Announcement howToAnnounce = DoEmit);
void setValue(const QString &filePath, Announcement howToAnnounce = DoEmit);
- void setDefaultValue(const FilePath &filePath);
+ void setDefaultValue(const QString &filePath);
void setPromptDialogFilter(const QString &filter);
void setPromptDialogTitle(const QString &title);
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
index d892c38f7d..638586974a 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
@@ -222,7 +222,7 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Id id) :
stagingDir.setSettingsKey(STAGING_DIR_KEY);
stagingDir.setLabelText(Tr::tr("Staging directory:"));
- stagingDir.setDefaultValue(FilePath::fromUserInput(initialStagingDir(kit())));
+ stagingDir.setDefaultValue(initialStagingDir(kit()));
Kit *kit = buildConfiguration()->kit();
if (CMakeBuildConfiguration::isIos(kit)) {
diff --git a/src/plugins/conan/conansettings.cpp b/src/plugins/conan/conansettings.cpp
index d3e5d9d09b..c6379e5082 100644
--- a/src/plugins/conan/conansettings.cpp
+++ b/src/plugins/conan/conansettings.cpp
@@ -22,7 +22,7 @@ ConanSettings::ConanSettings()
conanFilePath.setSettingsKey("ConanFilePath");
conanFilePath.setExpectedKind(PathChooser::ExistingCommand);
- conanFilePath.setDefaultValue(FilePath::fromString(HostOsInfo::withExecutableSuffix("conan")));
+ conanFilePath.setDefaultValue(HostOsInfo::withExecutableSuffix("conan"));
readSettings();
}
diff --git a/src/plugins/copilot/copilotsettings.cpp b/src/plugins/copilot/copilotsettings.cpp
index 4a224c96b1..74988ca774 100644
--- a/src/plugins/copilot/copilotsettings.cpp
+++ b/src/plugins/copilot/copilotsettings.cpp
@@ -56,7 +56,7 @@ CopilotSettings::CopilotSettings()
const FilePath distFromVim = findOrDefault(searchDirs, &FilePath::exists);
nodeJsPath.setExpectedKind(PathChooser::ExistingCommand);
- nodeJsPath.setDefaultValue(nodeFromPath);
+ nodeJsPath.setDefaultValue(nodeFromPath.toUserOutput());
nodeJsPath.setSettingsKey("Copilot.NodeJsPath");
nodeJsPath.setLabelText(Tr::tr("Node.js path:"));
nodeJsPath.setHistoryCompleter("Copilot.NodePath.History");
@@ -66,7 +66,7 @@ CopilotSettings::CopilotSettings()
"for installation instructions."));
distPath.setExpectedKind(PathChooser::File);
- distPath.setDefaultValue(distFromVim);
+ distPath.setDefaultValue(distFromVim.toUserOutput());
distPath.setSettingsKey("Copilot.DistPath");
distPath.setLabelText(Tr::tr("Path to agent.js:"));
distPath.setHistoryCompleter("Copilot.DistPath.History");
diff --git a/src/plugins/cpaster/fileshareprotocolsettingspage.cpp b/src/plugins/cpaster/fileshareprotocolsettingspage.cpp
index a5da0a6aa8..ad60a2ad84 100644
--- a/src/plugins/cpaster/fileshareprotocolsettingspage.cpp
+++ b/src/plugins/cpaster/fileshareprotocolsettingspage.cpp
@@ -26,7 +26,7 @@ FileShareProtocolSettings::FileShareProtocolSettings()
path.setSettingsKey("Path");
path.setExpectedKind(PathChooser::ExistingDirectory);
- path.setDefaultValue(TemporaryDirectory::masterDirectoryFilePath());
+ path.setDefaultValue(TemporaryDirectory::masterDirectoryPath());
path.setLabelText(Tr::tr("&Path:"));
displayCount.setSettingsKey("DisplayCount");
diff --git a/src/plugins/cppcheck/cppchecksettings.cpp b/src/plugins/cppcheck/cppchecksettings.cpp
index 926a8f9813..142d3ac236 100644
--- a/src/plugins/cppcheck/cppchecksettings.cpp
+++ b/src/plugins/cppcheck/cppchecksettings.cpp
@@ -44,10 +44,10 @@ CppcheckSettings::CppcheckSettings()
if (HostOsInfo::isAnyUnixHost()) {
binary.setDefaultValue("cppcheck");
} else {
- FilePath programFiles = FilePath::fromUserInput(qtcEnvironmentVariable("PROGRAMFILES"));
+ QString programFiles = qtcEnvironmentVariable("PROGRAMFILES");
if (programFiles.isEmpty())
programFiles = "C:/Program Files";
- binary.setDefaultValue(programFiles.pathAppended("Cppcheck/cppcheck.exe"));
+ binary.setDefaultValue(programFiles + "/Cppcheck/cppcheck.exe");
}
warning.setSettingsKey("warning");
diff --git a/src/plugins/docker/dockersettings.cpp b/src/plugins/docker/dockersettings.cpp
index 79ebb64841..925ed6559b 100644
--- a/src/plugins/docker/dockersettings.cpp
+++ b/src/plugins/docker/dockersettings.cpp
@@ -49,7 +49,7 @@ DockerSettings::DockerSettings()
dockerBinaryPath.setExpectedKind(PathChooser::ExistingCommand);
dockerBinaryPath.setDefaultValue(
- FilePath::fromString("docker").searchInPath(additionalPaths));
+ FilePath::fromString("docker").searchInPath(additionalPaths).toUserOutput());
dockerBinaryPath.setDisplayName(Tr::tr("Docker CLI"));
dockerBinaryPath.setHistoryCompleter("Docker.Command.History");
dockerBinaryPath.setLabelText(Tr::tr("Command:"));
diff --git a/src/plugins/haskell/haskellsettings.cpp b/src/plugins/haskell/haskellsettings.cpp
index ce13a5fddd..ffc6fa066d 100644
--- a/src/plugins/haskell/haskellsettings.cpp
+++ b/src/plugins/haskell/haskellsettings.cpp
@@ -33,8 +33,8 @@ HaskellSettings::HaskellSettings()
// stack from brew or the installer script from https://docs.haskellstack.org
// install to /usr/local/bin.
stackPath.setDefaultValue(HostOsInfo::isAnyUnixHost()
- ? FilePath::fromString("/usr/local/bin/stack")
- : FilePath::fromString("stack"));
+ ? QLatin1String("/usr/local/bin/stack")
+ : QLatin1String("stack"));
setLayouter([this] {
using namespace Layouting;
diff --git a/src/plugins/perforce/perforcesettings.cpp b/src/plugins/perforce/perforcesettings.cpp
index 93648a55c8..6f7691c054 100644
--- a/src/plugins/perforce/perforcesettings.cpp
+++ b/src/plugins/perforce/perforcesettings.cpp
@@ -42,7 +42,8 @@ PerforceSettings::PerforceSettings()
setAutoApply(false);
p4BinaryPath.setSettingsKey("Command");
- p4BinaryPath.setDefaultValue(Environment::systemEnvironment().searchInPath(defaultCommand()));
+ p4BinaryPath.setDefaultValue(
+ Environment::systemEnvironment().searchInPath(defaultCommand()).toUserOutput());
p4BinaryPath.setHistoryCompleter("Perforce.Command.History");
p4BinaryPath.setExpectedKind(PathChooser::Command);
p4BinaryPath.setDisplayName(Tr::tr("Perforce Command"));
diff --git a/src/plugins/terminal/terminalsettings.cpp b/src/plugins/terminal/terminalsettings.cpp
index b86cce402d..46fe21426d 100644
--- a/src/plugins/terminal/terminalsettings.cpp
+++ b/src/plugins/terminal/terminalsettings.cpp
@@ -50,16 +50,16 @@ static int defaultFontSize()
return 10;
}
-static FilePath defaultShell()
+static QString defaultShell()
{
if (HostOsInfo::isWindowsHost())
- return FilePath::fromUserInput(qtcEnvironmentVariable("COMSPEC"));
+ return qtcEnvironmentVariable("COMSPEC");
FilePath defaultShell = FilePath::fromUserInput(qtcEnvironmentVariable("SHELL"));
if (defaultShell.isExecutableFile())
- return defaultShell;
+ return defaultShell.toUserOutput();
- return Environment::systemEnvironment().searchInPath("sh");
+ return Environment::systemEnvironment().searchInPath("sh").toUserOutput();
}
void setupColor(TerminalSettings *settings,
diff --git a/src/plugins/vcpkg/vcpkgsettings.cpp b/src/plugins/vcpkg/vcpkgsettings.cpp
index 338c77df8d..da91ef486b 100644
--- a/src/plugins/vcpkg/vcpkgsettings.cpp
+++ b/src/plugins/vcpkg/vcpkgsettings.cpp
@@ -37,10 +37,10 @@ VcpkgSettings::VcpkgSettings()
vcpkgRoot.setExpectedKind(PathChooser::ExistingDirectory);
FilePath defaultPath = Environment::systemEnvironment().searchInPath(Constants::VCPKG_COMMAND)
.parentDir();
- if (!defaultPath.isDir())
+ if (defaultPath.isDir())
defaultPath = FilePath::fromUserInput(qtcEnvironmentVariable(Constants::ENVVAR_VCPKG_ROOT));
if (defaultPath.isDir())
- vcpkgRoot.setDefaultValue(defaultPath);
+ vcpkgRoot.setDefaultValue(defaultPath.toUserOutput());
setLayouter([this] {
using namespace Layouting;
diff --git a/src/plugins/vcsbase/commonvcssettings.cpp b/src/plugins/vcsbase/commonvcssettings.cpp
index f631c20d95..8b9d179c66 100644
--- a/src/plugins/vcsbase/commonvcssettings.cpp
+++ b/src/plugins/vcsbase/commonvcssettings.cpp
@@ -66,7 +66,7 @@ CommonVcsSettings::CommonVcsSettings()
sshPasswordPrompt.setSettingsKey("SshPasswordPrompt");
sshPasswordPrompt.setExpectedKind(PathChooser::ExistingCommand);
sshPasswordPrompt.setHistoryCompleter("Vcs.SshPrompt.History");
- sshPasswordPrompt.setDefaultValue(FilePath::fromUserInput(sshPasswordPromptDefault()));
+ sshPasswordPrompt.setDefaultValue(sshPasswordPromptDefault());
sshPasswordPrompt.setLabelText(Tr::tr("&SSH prompt command:"));
sshPasswordPrompt.setToolTip(Tr::tr("Specifies a command that is executed to graphically prompt "
"for a password,\nshould a repository require SSH-authentication "
diff --git a/src/plugins/webassembly/webassemblysettings.cpp b/src/plugins/webassembly/webassemblysettings.cpp
index 7c385e3851..e6ad931ccb 100644
--- a/src/plugins/webassembly/webassemblysettings.cpp
+++ b/src/plugins/webassembly/webassemblysettings.cpp
@@ -56,7 +56,7 @@ WebAssemblySettings::WebAssemblySettings()
emSdk.setSettingsKey("EmSdk");
emSdk.setExpectedKind(Utils::PathChooser::ExistingDirectory);
- emSdk.setDefaultValue(FileUtils::homePath());
+ emSdk.setDefaultValue(QDir::homePath());
connect(this, &Utils::AspectContainer::applied, &WebAssemblyToolChain::registerToolChains);