diff options
author | hjk <hjk@qt.io> | 2023-08-17 12:51:13 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-08-17 11:58:41 +0000 |
commit | ec7abcf98c5915364cd354d8ee62c645bcdd3a8d (patch) | |
tree | 2d7c7c8eb864b979d4b940d51364e8f2b35d6cf0 | |
parent | 3fa4fa5cf331b81a12fedcf67514094c741f3bf0 (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.cpp | 4 | ||||
-rw-r--r-- | src/libs/utils/aspects.h | 2 | ||||
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakebuildstep.cpp | 2 | ||||
-rw-r--r-- | src/plugins/conan/conansettings.cpp | 2 | ||||
-rw-r--r-- | src/plugins/copilot/copilotsettings.cpp | 4 | ||||
-rw-r--r-- | src/plugins/cpaster/fileshareprotocolsettingspage.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cppcheck/cppchecksettings.cpp | 4 | ||||
-rw-r--r-- | src/plugins/docker/dockersettings.cpp | 2 | ||||
-rw-r--r-- | src/plugins/haskell/haskellsettings.cpp | 4 | ||||
-rw-r--r-- | src/plugins/perforce/perforcesettings.cpp | 3 | ||||
-rw-r--r-- | src/plugins/terminal/terminalsettings.cpp | 8 | ||||
-rw-r--r-- | src/plugins/vcpkg/vcpkgsettings.cpp | 4 | ||||
-rw-r--r-- | src/plugins/vcsbase/commonvcssettings.cpp | 2 | ||||
-rw-r--r-- | src/plugins/webassembly/webassemblysettings.cpp | 2 |
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); |