diff --git a/src/libs/ssh/sshkeycreationdialog.cpp b/src/libs/ssh/sshkeycreationdialog.cpp index ed4a4547a4b..89488b2c27f 100644 --- a/src/libs/ssh/sshkeycreationdialog.cpp +++ b/src/libs/ssh/sshkeycreationdialog.cpp @@ -32,9 +32,6 @@ #include #include -#include -#include -#include #include #include #include @@ -50,7 +47,7 @@ SshKeyCreationDialog::SshKeyCreationDialog(QWidget *parent) m_ui->privateKeyFileButton->setText(Utils::PathChooser::browseButtonLabel()); const QString defaultPath = QStandardPaths::writableLocation(QStandardPaths::HomeLocation) + QLatin1String("/.ssh/qtc_id"); - setPrivateKeyFile(defaultPath); + setPrivateKeyFile(FilePath::fromString(defaultPath)); connect(m_ui->rsa, &QRadioButton::toggled, this, &SshKeyCreationDialog::keyTypeChanged); @@ -86,16 +83,16 @@ void SshKeyCreationDialog::generateKeys() showError(tr("The ssh-keygen tool was not found.")); return; } - if (QFileInfo::exists(privateKeyFilePath())) { + if (privateKeyFilePath().exists()) { showError(tr("Refusing to overwrite existing private key file \"%1\".") - .arg(QDir::toNativeSeparators(privateKeyFilePath()))); + .arg(privateKeyFilePath().toUserOutput())); return; } const QString keyTypeString = QLatin1String(m_ui->rsa->isChecked() ? "rsa": "ecdsa"); QApplication::setOverrideCursor(Qt::BusyCursor); QProcess keygen; const QStringList args{"-t", keyTypeString, "-b", m_ui->comboBox->currentText(), - "-N", QString(), "-f", privateKeyFilePath()}; + "-N", QString(), "-f", privateKeyFilePath().path()}; QString errorMsg; keygen.start(SshSettings::keygenFilePath().toString(), args); keygen.closeWriteChannel(); @@ -115,14 +112,14 @@ void SshKeyCreationDialog::handleBrowseButtonClicked() { const FilePath filePath = FileUtils::getSaveFilePath(this, tr("Choose Private Key File Name")); if (!filePath.isEmpty()) - setPrivateKeyFile(filePath.toString()); + setPrivateKeyFile(filePath); } -void SshKeyCreationDialog::setPrivateKeyFile(const QString &filePath) +void SshKeyCreationDialog::setPrivateKeyFile(const FilePath &filePath) { - m_ui->privateKeyFileValueLabel->setText(filePath); + m_ui->privateKeyFileValueLabel->setText(filePath.toUserOutput()); m_ui->generateButton->setEnabled(!privateKeyFilePath().isEmpty()); - m_ui->publicKeyFileLabel->setText(filePath + QLatin1String(".pub")); + m_ui->publicKeyFileLabel->setText(filePath.toUserOutput() + ".pub"); } void SshKeyCreationDialog::showError(const QString &details) @@ -130,14 +127,14 @@ void SshKeyCreationDialog::showError(const QString &details) QMessageBox::critical(this, tr("Key Generation Failed"), details); } -QString SshKeyCreationDialog::privateKeyFilePath() const +FilePath SshKeyCreationDialog::privateKeyFilePath() const { - return m_ui->privateKeyFileValueLabel->text(); + return FilePath::fromUserInput(m_ui->privateKeyFileValueLabel->text()); } -QString SshKeyCreationDialog::publicKeyFilePath() const +FilePath SshKeyCreationDialog::publicKeyFilePath() const { - return m_ui->publicKeyFileLabel->text(); + return FilePath::fromUserInput(m_ui->publicKeyFileLabel->text()); } } // namespace QSsh diff --git a/src/libs/ssh/sshkeycreationdialog.h b/src/libs/ssh/sshkeycreationdialog.h index dca0bdef821..3999cf93f76 100644 --- a/src/libs/ssh/sshkeycreationdialog.h +++ b/src/libs/ssh/sshkeycreationdialog.h @@ -27,6 +27,8 @@ #include "ssh_global.h" +#include + #include namespace QSsh { @@ -40,14 +42,14 @@ public: SshKeyCreationDialog(QWidget *parent = nullptr); ~SshKeyCreationDialog(); - QString privateKeyFilePath() const; - QString publicKeyFilePath() const; + Utils::FilePath privateKeyFilePath() const; + Utils::FilePath publicKeyFilePath() const; private: void keyTypeChanged(); void generateKeys(); void handleBrowseButtonClicked(); - void setPrivateKeyFile(const QString &filePath); + void setPrivateKeyFile(const Utils::FilePath &filePath); void showError(const QString &details); private: diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.cpp index 9db81d1270c..5550368430e 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.cpp @@ -138,9 +138,9 @@ void GenericLinuxDeviceConfigurationWidget::handleFreePortsChanged() updatePortsWarningLabel(); } -void GenericLinuxDeviceConfigurationWidget::setPrivateKey(const QString &path) +void GenericLinuxDeviceConfigurationWidget::setPrivateKey(const FilePath &path) { - m_ui->keyFileLineEdit->setPath(path); + m_ui->keyFileLineEdit->setFilePath(path); keyFileEditingFinished(); } diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.h b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.h index bc4383e6c9c..20c8b2aecbf 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.h +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.h @@ -52,7 +52,7 @@ private: void keyFileEditingFinished(); void gdbServerEditingFinished(); void handleFreePortsChanged(); - void setPrivateKey(const QString &path); + void setPrivateKey(const Utils::FilePath &path); void createNewKey(); void hostKeyCheckingChanged(bool doCheck); diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp index 9165ee56c8f..173e6c33468 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizardpages.cpp @@ -250,7 +250,7 @@ void GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::createKey() { SshKeyCreationDialog dlg(this); if (dlg.exec() == QDialog::Accepted) - d->keyFileChooser.setPath(dlg.privateKeyFilePath()); + d->keyFileChooser.setFilePath(dlg.privateKeyFilePath()); } void GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::deployKey()