forked from qt-creator/qt-creator
Ssh: Get confirmation from user for overwriting an existing key.
Change-Id: I3d74423ef647fd59d303517b0a0e987b24973095 Reviewed-by: Robert Loehning <robert.loehning@digia.com>
This commit is contained in:
@@ -69,6 +69,9 @@ void SshKeyCreationDialog::keyTypeChanged()
|
||||
|
||||
void SshKeyCreationDialog::generateKeys()
|
||||
{
|
||||
if (userForbidsOverwriting())
|
||||
return;
|
||||
|
||||
const SshKeyGenerator::KeyType keyType = m_ui->rsa->isChecked()
|
||||
? SshKeyGenerator::Rsa
|
||||
: SshKeyGenerator::Dsa;
|
||||
@@ -130,6 +133,16 @@ void SshKeyCreationDialog::saveKeys()
|
||||
accept();
|
||||
}
|
||||
|
||||
bool SshKeyCreationDialog::userForbidsOverwriting()
|
||||
{
|
||||
if (!QFileInfo(privateKeyFilePath()).exists() && !QFileInfo(publicKeyFilePath()).exists())
|
||||
return false;
|
||||
const QMessageBox::StandardButton reply = QMessageBox::question(this, tr("File Exists"),
|
||||
tr("There already is a file of that name. Do you want to overwrite it?"),
|
||||
QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
|
||||
return reply != QMessageBox::Yes;
|
||||
}
|
||||
|
||||
QString SshKeyCreationDialog::privateKeyFilePath() const
|
||||
{
|
||||
return m_ui->privateKeyFileValueLabel->text();
|
||||
|
@@ -57,6 +57,7 @@ private slots:
|
||||
private:
|
||||
void setPrivateKeyFile(const QString &filePath);
|
||||
void saveKeys();
|
||||
bool userForbidsOverwriting();
|
||||
|
||||
private:
|
||||
SshKeyGenerator *m_keyGenerator;
|
||||
|
Reference in New Issue
Block a user