#include "dlg_forgotpasswordchallenge.h" #include "settingscache.h" #include #include #include #include #include #include #include DlgForgotPasswordChallenge::DlgForgotPasswordChallenge(QWidget *parent) : QDialog(parent) { QString lastfphost; QString lastfpport; QString lastfpplayername; ServersSettings &servers = SettingsCache::instance().servers(); lastfphost = servers.getHostname("server.cockatrice.us"); lastfpport = servers.getPort("4747"); lastfpplayername = servers.getPlayerName("Player"); if (!servers.getFPHostname().isEmpty() && !servers.getFPPort().isEmpty() && !servers.getFPPlayerName().isEmpty()) { lastfphost = servers.getFPHostname(); lastfpport = servers.getFPPort(); lastfpplayername = servers.getFPPlayerName(); } if (servers.getFPHostname().isEmpty() && servers.getFPPort().isEmpty() && servers.getFPPlayerName().isEmpty()) { QMessageBox::warning(this, tr("Forgot Password Challenge Warning"), tr("Oops, looks like something has gone wrong. Please restart the forgot password " "process by using the forgot password button on the connection screen.")); reject(); } hostLabel = new QLabel(tr("&Host:")); hostEdit = new QLineEdit(lastfphost); hostLabel->setBuddy(hostEdit); portLabel = new QLabel(tr("&Port:")); portEdit = new QLineEdit(lastfpport); portLabel->setBuddy(portEdit); playernameLabel = new QLabel(tr("Player &name:")); playernameEdit = new QLineEdit(lastfpplayername); playernameLabel->setBuddy(playernameEdit); emailLabel = new QLabel(tr("Email:")); emailEdit = new QLineEdit(); emailLabel->setBuddy(emailLabel); if (!servers.getFPHostname().isEmpty() && !servers.getFPPort().isEmpty() && !servers.getFPPlayerName().isEmpty()) { hostLabel->hide(); hostEdit->hide(); portLabel->hide(); portEdit->hide(); playernameLabel->hide(); playernameEdit->hide(); } QGridLayout *grid = new QGridLayout; grid->addWidget(hostLabel, 0, 0); grid->addWidget(hostEdit, 0, 1); grid->addWidget(portLabel, 1, 0); grid->addWidget(portEdit, 1, 1); grid->addWidget(playernameLabel, 2, 0); grid->addWidget(playernameEdit, 2, 1); grid->addWidget(emailLabel, 3, 0); grid->addWidget(emailEdit, 3, 1); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(grid); mainLayout->addWidget(buttonBox); setLayout(mainLayout); setWindowTitle(tr("Forgot Password Challenge")); setFixedHeight(sizeHint().height()); setMinimumWidth(300); } void DlgForgotPasswordChallenge::actOk() { if (emailEdit->text().isEmpty()) { QMessageBox::critical(this, tr("Forgot Password Challenge Warning"), tr("The email address can't be empty.")); return; } ServersSettings &servers = SettingsCache::instance().servers(); servers.setFPHostName(hostEdit->text()); servers.setFPPort(portEdit->text()); servers.setFPPlayerName(playernameEdit->text()); accept(); }