diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp index be6b6743e2b..e069892ca0d 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp @@ -33,7 +33,6 @@ #include #include -#include #include #include #include @@ -149,10 +148,10 @@ QString GenericLinuxDeviceConfigurationWizardFinalPage::infoText() const struct GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::Private { - QStringList defaultKeys() const + FilePaths defaultKeys() const { - const QString baseDir = QDir::homePath() + "/.ssh"; - return QStringList{baseDir + "/id_rsa", baseDir + "/id_ecdsa", baseDir + "/id_ed25519"}; + const FilePath baseDir = FileUtils::homePath() / ".ssh"; + return {baseDir / "id_rsa", baseDir / "id_ecdsa", baseDir / "id_ed25519"}; } PathChooser keyFileChooser; @@ -200,9 +199,9 @@ GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::GenericLinuxDeviceConfig d->iconLabel.clear(); emit completeChanged(); }); - for (const QString &defaultKey : d->defaultKeys()) { - if (QFileInfo::exists(defaultKey)) { - d->keyFileChooser.setPath(defaultKey); + for (const FilePath &defaultKey : d->defaultKeys()) { + if (defaultKey.exists()) { + d->keyFileChooser.setFilePath(defaultKey); break; } } @@ -221,7 +220,7 @@ void GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::setDevice(const Lin void GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::initializePage() { if (!d->device->sshParameters().privateKeyFile.isEmpty()) - d->keyFileChooser.setPath(privateKeyFilePath()); + d->keyFileChooser.setFilePath(privateKeyFilePath()); d->iconLabel.clear(); } @@ -232,7 +231,7 @@ bool GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::isComplete() const bool GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::validatePage() { - if (!d->defaultKeys().contains(d->keyFileChooser.filePath().toString())) { + if (!d->defaultKeys().contains(d->keyFileChooser.filePath())) { SshConnectionParameters sshParams = d->device->sshParameters(); sshParams.authenticationType = SshConnectionParameters::AuthenticationTypeSpecificKey; sshParams.privateKeyFile = d->keyFileChooser.filePath(); @@ -241,9 +240,9 @@ bool GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::validatePage() return true; } -QString GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::privateKeyFilePath() const +FilePath GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::privateKeyFilePath() const { - return d->keyFileChooser.filePath().toString(); + return d->keyFileChooser.filePath(); } void GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::createKey() diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.h b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.h index 7905a7de643..2b8c6f641f5 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.h +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.h @@ -75,7 +75,7 @@ private: bool isComplete() const override; bool validatePage() override; - QString privateKeyFilePath() const; + Utils::FilePath privateKeyFilePath() const; void createKey(); void deployKey(); diff --git a/src/plugins/remotelinux/publickeydeploymentdialog.cpp b/src/plugins/remotelinux/publickeydeploymentdialog.cpp index cdec2239a20..fd43803a262 100644 --- a/src/plugins/remotelinux/publickeydeploymentdialog.cpp +++ b/src/plugins/remotelinux/publickeydeploymentdialog.cpp @@ -55,11 +55,11 @@ PublicKeyDeploymentDialog *PublicKeyDeploymentDialog::createDialog( tr("Public Key Files (*.pub);;All Files (*)")); if (publicKeyFileName.isEmpty()) return nullptr; - return new PublicKeyDeploymentDialog(deviceConfig, publicKeyFileName.toString(), parent); + return new PublicKeyDeploymentDialog(deviceConfig, publicKeyFileName, parent); } PublicKeyDeploymentDialog::PublicKeyDeploymentDialog(const IDevice::ConstPtr &deviceConfig, - const QString &publicKeyFileName, QWidget *parent) + const FilePath &publicKeyFileName, QWidget *parent) : QProgressDialog(parent), d(new PublicKeyDeploymentDialogPrivate) { setAutoReset(false); diff --git a/src/plugins/remotelinux/publickeydeploymentdialog.h b/src/plugins/remotelinux/publickeydeploymentdialog.h index 442678a8b56..e2792cc376f 100644 --- a/src/plugins/remotelinux/publickeydeploymentdialog.h +++ b/src/plugins/remotelinux/publickeydeploymentdialog.h @@ -43,7 +43,7 @@ public: QWidget *parent = nullptr); PublicKeyDeploymentDialog(const ProjectExplorer::IDevice::ConstPtr &deviceConfig, - const QString &publicKeyFileName, QWidget *parent = nullptr); + const Utils::FilePath &publicKeyFileName, QWidget *parent = nullptr); ~PublicKeyDeploymentDialog() override; diff --git a/src/plugins/remotelinux/sshkeydeployer.cpp b/src/plugins/remotelinux/sshkeydeployer.cpp index cb55102a1ea..9d5435ed4bf 100644 --- a/src/plugins/remotelinux/sshkeydeployer.cpp +++ b/src/plugins/remotelinux/sshkeydeployer.cpp @@ -26,9 +26,10 @@ #include "sshkeydeployer.h" #include -#include +#include using namespace QSsh; +using namespace Utils; namespace RemoteLinux { namespace Internal { @@ -53,12 +54,12 @@ SshKeyDeployer::~SshKeyDeployer() } void SshKeyDeployer::deployPublicKey(const SshConnectionParameters &sshParams, - const QString &keyFilePath) + const FilePath &keyFilePath) { cleanup(); - Utils::FileReader reader; - if (!reader.fetch(Utils::FilePath::fromString(keyFilePath))) { + FileReader reader; + if (!reader.fetch(keyFilePath)) { emit error(tr("Public key error: %1").arg(reader.errorString())); return; } diff --git a/src/plugins/remotelinux/sshkeydeployer.h b/src/plugins/remotelinux/sshkeydeployer.h index 664543cb3c3..984f7a664f5 100644 --- a/src/plugins/remotelinux/sshkeydeployer.h +++ b/src/plugins/remotelinux/sshkeydeployer.h @@ -30,6 +30,7 @@ #include namespace QSsh { class SshConnectionParameters; } +namespace Utils { class FilePath; } namespace RemoteLinux { namespace Internal { class SshKeyDeployerPrivate; } @@ -43,7 +44,7 @@ public: ~SshKeyDeployer() override; void deployPublicKey(const QSsh::SshConnectionParameters &sshParams, - const QString &keyFilePath); + const Utils::FilePath &keyFilePath); void stopDeployment(); signals: