diff options
| author | Rafael Roquetto <rafael.roquetto@kdab.com> | 2013-11-29 19:28:04 -0200 |
|---|---|---|
| committer | Rafael Roquetto <rafael.roquetto@kdab.com> | 2013-12-06 12:15:12 +0100 |
| commit | 07da6325a80442ac75c76c083643f2e53c6a3a17 (patch) | |
| tree | d68b90218707f76297d42de7c46c7f46cf14c375 | |
| parent | 312d032a7bfccc3bbd933c92dc89d730af59616f (diff) | |
| download | qt-creator-07da6325a80442ac75c76c083643f2e53c6a3a17.tar.gz | |
BlackBerry: do not show invalid password message
Do not show "Invalid password" dialog when the user has actually pressed
"Cancel" upon prompting for the certificate password or csk password dialog,
and make sure the "overwrite" dialog does not appear after a failed attempt to
request a debug token.
Change-Id: Id9aa78ab3517249df5bd3b4c2d1e0fd2032c3c0b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
| -rw-r--r-- | src/plugins/qnx/blackberrydebugtokenrequestdialog.cpp | 24 | ||||
| -rw-r--r-- | src/plugins/qnx/blackberrysetupwizard.cpp | 14 | ||||
| -rw-r--r-- | src/plugins/qnx/blackberrysigningutils.cpp | 35 | ||||
| -rw-r--r-- | src/plugins/qnx/blackberrysigningutils.h | 6 |
4 files changed, 65 insertions, 14 deletions
diff --git a/src/plugins/qnx/blackberrydebugtokenrequestdialog.cpp b/src/plugins/qnx/blackberrydebugtokenrequestdialog.cpp index a2c824ec02..8585cec354 100644 --- a/src/plugins/qnx/blackberrydebugtokenrequestdialog.cpp +++ b/src/plugins/qnx/blackberrydebugtokenrequestdialog.cpp @@ -143,9 +143,24 @@ void BlackBerryDebugTokenRequestDialog::requestDebugToken() BlackBerryConfigurationManager &configuration = BlackBerryConfigurationManager::instance(); + bool ok; + const QString cskPassword = m_utils.cskPassword(this, &ok); + + if (!ok) { + setBusy(false); + return; + } + + const QString certificatePassword = m_utils.certificatePassword(this, &ok); + + if (!ok) { + setBusy(false); + return; + } + m_requester->requestDebugToken(m_ui->debugTokenPath->path(), - m_utils.cskPassword(this), configuration.defaultKeystorePath(), - m_utils.certificatePassword(this), m_ui->devicePin->text()); + cskPassword, configuration.defaultKeystorePath(), + certificatePassword, m_ui->devicePin->text()); } void BlackBerryDebugTokenRequestDialog::setDefaultPath() @@ -235,6 +250,11 @@ void BlackBerryDebugTokenRequestDialog::debugTokenArrived(int status) break; } + QFile file(m_ui->debugTokenPath->path()); + + if (file.exists()) + file.remove(); + QMessageBox::critical(this, tr("Error"), errorString); setBusy(false); diff --git a/src/plugins/qnx/blackberrysetupwizard.cpp b/src/plugins/qnx/blackberrysetupwizard.cpp index dc0a2c2302..26fd3191ef 100644 --- a/src/plugins/qnx/blackberrysetupwizard.cpp +++ b/src/plugins/qnx/blackberrysetupwizard.cpp @@ -215,6 +215,13 @@ void BlackBerrySetupWizard::debugTokenArrived(int status) break; } + BlackBerryConfigurationManager &configuration = BlackBerryConfigurationManager::instance(); + + QFile dt(configuration.defaultKeystorePath()); + + if (dt.exists()) + dt.remove(); + QMessageBox::critical(this, tr("Error"), errorString); reset(); @@ -405,8 +412,13 @@ void BlackBerrySetupWizard::requestDebugToken() BlackBerryConfigurationManager &configuration = BlackBerryConfigurationManager::instance(); + bool ok; + const QString cskPassword = m_utils.cskPassword(this, &ok); + if (!ok) + return; + m_requester->requestDebugToken(configuration.defaultDebugTokenPath(), - m_utils.cskPassword(this), configuration.defaultKeystorePath(), certificatePassword(), m_devicePin); + cskPassword, configuration.defaultKeystorePath(), certificatePassword(), m_devicePin); } void BlackBerrySetupWizard::uploadDebugToken() diff --git a/src/plugins/qnx/blackberrysigningutils.cpp b/src/plugins/qnx/blackberrysigningutils.cpp index 0e1ee888f9..f9fb2b8cf0 100644 --- a/src/plugins/qnx/blackberrysigningutils.cpp +++ b/src/plugins/qnx/blackberrysigningutils.cpp @@ -82,18 +82,24 @@ bool BlackBerrySigningUtils::hasDefaultCertificate() return keystore.exists(); } -QString BlackBerrySigningUtils::cskPassword(QWidget *passwordPromptParent) +QString BlackBerrySigningUtils::cskPassword(QWidget *passwordPromptParent, bool *ok) { if (m_cskPassword.isEmpty()) - m_cskPassword = promptPassword(tr("Please provide your bbidtoken.csk PIN."), passwordPromptParent); + m_cskPassword = promptPassword(tr("Please provide your bbidtoken.csk PIN."), passwordPromptParent, ok); + else if (ok) + *ok = true; return m_cskPassword; } -QString BlackBerrySigningUtils::certificatePassword(QWidget *passwordPromptParent) +QString BlackBerrySigningUtils::certificatePassword(QWidget *passwordPromptParent, bool *ok) { - if (m_certificatePassword.isEmpty()) - m_certificatePassword = promptPassword(tr("Please enter your certificate password."), passwordPromptParent); + if (m_certificatePassword.isEmpty()) { + m_certificatePassword = + promptPassword(tr("Please enter your certificate password."), passwordPromptParent, ok); + } else if (ok) { + *ok = true; + } return m_certificatePassword; } @@ -110,7 +116,12 @@ void BlackBerrySigningUtils::openDefaultCertificate(QWidget *passwordPromptParen return; } - const QString password = certificatePassword(passwordPromptParent); + bool ok; + const QString password = certificatePassword(passwordPromptParent, &ok); + + // action has been canceled + if (!ok) + return; BlackBerryConfigurationManager &configManager = BlackBerryConfigurationManager::instance(); @@ -165,7 +176,8 @@ void BlackBerrySigningUtils::certificateLoaded(int status) emit defaultCertificateLoaded(status); } -QString BlackBerrySigningUtils::promptPassword(const QString &message, QWidget *dialogParent) const +QString BlackBerrySigningUtils::promptPassword(const QString &message, + QWidget *dialogParent, bool *ok) const { QInputDialog dialog(dialogParent); dialog.setWindowTitle(tr("Qt Creator")); @@ -173,8 +185,15 @@ QString BlackBerrySigningUtils::promptPassword(const QString &message, QWidget * dialog.setLabelText(message); dialog.setTextEchoMode(QLineEdit::Password); - if (dialog.exec() == QDialog::Rejected) + if (dialog.exec() == QDialog::Rejected) { + if (ok) + *ok = false; + return QString(); + } + + if (ok) + *ok = true; return dialog.textValue(); } diff --git a/src/plugins/qnx/blackberrysigningutils.h b/src/plugins/qnx/blackberrysigningutils.h index 079cee2bff..3cf139162e 100644 --- a/src/plugins/qnx/blackberrysigningutils.h +++ b/src/plugins/qnx/blackberrysigningutils.h @@ -55,8 +55,8 @@ public: bool hasLegacyKeys(); bool hasDefaultCertificate(); - QString cskPassword(QWidget *passwordPromptParent = 0); - QString certificatePassword(QWidget *passwordPromptParent = 0); + QString cskPassword(QWidget *passwordPromptParent = 0, bool *ok = 0); + QString certificatePassword(QWidget *passwordPromptParent = 0, bool *ok = 0); const BlackBerryCertificate *defaultCertificate() const; @@ -77,7 +77,7 @@ private: BlackBerrySigningUtils(QObject *parent = 0); - QString promptPassword(const QString &message, QWidget *dialogParent = 0) const; + QString promptPassword(const QString &message, QWidget *dialogParent = 0, bool *ok = 0) const; BlackBerryCertificate *m_defaultCertificate; |
