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 {