diff --git a/src/gui/gui.pro b/src/gui/gui.pro index ee4ba52b..c0bf4fad 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -18,7 +18,8 @@ FORMS += res/MainWindowBase.ui \ res/SetupWizardBase.ui \ res/AddClientDialogBase.ui \ res/ActivationDialog.ui \ - res/CancelActivationDialog.ui + res/CancelActivationDialog.ui \ + res/FailedLoginDialog.ui SOURCES += src/main.cpp \ src/MainWindow.cpp \ src/AboutDialog.cpp \ @@ -62,7 +63,8 @@ SOURCES += src/main.cpp \ src/SubscriptionManager.cpp \ src/ActivationNotifier.cpp \ src/ActivationDialog.cpp \ - src/CancelActivationDialog.cpp + src/CancelActivationDialog.cpp \ + src/FailedLoginDialog.cpp HEADERS += src/MainWindow.h \ src/AboutDialog.h \ src/ServerConfig.h \ @@ -109,7 +111,8 @@ HEADERS += src/MainWindow.h \ src/ActivationNotifier.h \ src/ElevateMode.h \ src/ActivationDialog.h \ - src/CancelActivationDialog.h + src/CancelActivationDialog.h \ + src/FailedLoginDialog.h RESOURCES += res/Synergy.qrc RC_FILE = res/win/Synergy.rc macx { diff --git a/src/gui/res/FailedLoginDialog.ui b/src/gui/res/FailedLoginDialog.ui new file mode 100644 index 00000000..d3c6b507 --- /dev/null +++ b/src/gui/res/FailedLoginDialog.ui @@ -0,0 +1,108 @@ + + + FailedLoginDialog + + + + 0 + 0 + 400 + 165 + + + + Activation Error + + + + + 50 + 120 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Close + + + + + + 10 + 90 + 382 + 30 + + + + <html><head/><body><p><a href="https://symless.com/account/reset/?source=gui"><span style=" text-decoration: underline; color:#0000ff;">Forgotten your password?</span></a></p></body></html> + + + true + + + + + + 10 + 10 + 382 + 72 + + + + An error occurred while trying to activate Synergy. The Symless server returned the following error: + +%1 + + + true + + + true + + + label_2 + messageLabel + buttonBox + + + + + buttonBox + accepted() + FailedLoginDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + FailedLoginDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/gui/src/ActivationDialog.cpp b/src/gui/src/ActivationDialog.cpp index 8f1fb8c7..3950d198 100644 --- a/src/gui/src/ActivationDialog.cpp +++ b/src/gui/src/ActivationDialog.cpp @@ -8,6 +8,7 @@ #include "MainWindow.h" #include "QUtility.h" #include "SubscriptionManager.h" +#include "FailedLoginDialog.h" #include #include @@ -116,9 +117,8 @@ void ActivationDialog::accept() return; } else if (!webClient.getEdition (edition, error)) { - message.critical (this, "Activation Error", - tr("An error occurred while trying to activate Synergy. " - "The Symless server returned the following error:\n\n%1").arg(error)); + FailedLoginDialog failedLoginDialog (this, error); + failedLoginDialog.exec(); return; } diff --git a/src/gui/src/FailedLoginDialog.cpp b/src/gui/src/FailedLoginDialog.cpp new file mode 100644 index 00000000..07ec6bdc --- /dev/null +++ b/src/gui/src/FailedLoginDialog.cpp @@ -0,0 +1,15 @@ +#include "FailedLoginDialog.h" +#include "ui_FailedLoginDialog.h" + +FailedLoginDialog::FailedLoginDialog(QWidget *parent, QString message): + QDialog(parent), + ui(new Ui::FailedLoginDialog) +{ + ui->setupUi(this); + ui->messageLabel->setText(ui->messageLabel->text().arg(message)); +} + +FailedLoginDialog::~FailedLoginDialog() +{ + delete ui; +} diff --git a/src/gui/src/FailedLoginDialog.h b/src/gui/src/FailedLoginDialog.h new file mode 100644 index 00000000..2eb67634 --- /dev/null +++ b/src/gui/src/FailedLoginDialog.h @@ -0,0 +1,23 @@ +#ifndef FAILEDLOGINDIALOG_H +#define FAILEDLOGINDIALOG_H + +#include +#include + +namespace Ui { +class FailedLoginDialog; +} + +class FailedLoginDialog : public QDialog +{ + Q_OBJECT + +public: + explicit FailedLoginDialog(QWidget *parent = 0, QString message = ""); + ~FailedLoginDialog(); + +private: + Ui::FailedLoginDialog *ui; +}; + +#endif // FAILEDLOGINDIALOG_H diff --git a/src/gui/src/WebClient.cpp b/src/gui/src/WebClient.cpp index a0a6118a..1d21dc82 100644 --- a/src/gui/src/WebClient.cpp +++ b/src/gui/src/WebClient.cpp @@ -46,7 +46,7 @@ WebClient::getEdition (int& edition, QString& errorOut) { throw std::runtime_error ("Unrecognised server response."); } } else { - errorOut = tr("Login failed. Invalid email or password."); + errorOut = tr("Login failed. Invalid email address or password."); return false; } } else {