1 #include "dlg_forgotpasswordrequest.h"
2
3 #include "settingscache.h"
4
5 #include <QCheckBox>
6 #include <QDebug>
7 #include <QDialogButtonBox>
8 #include <QGridLayout>
9 #include <QHBoxLayout>
10 #include <QLabel>
11 #include <QMessageBox>
12
DlgForgotPasswordRequest(QWidget * parent)13 DlgForgotPasswordRequest::DlgForgotPasswordRequest(QWidget *parent) : QDialog(parent)
14 {
15
16 QString lastfphost;
17 QString lastfpport;
18 QString lastfpplayername;
19 ServersSettings &servers = SettingsCache::instance().servers();
20 lastfphost = servers.getHostname("server.cockatrice.us");
21 lastfpport = servers.getPort("4747");
22 lastfpplayername = servers.getPlayerName("Player");
23
24 if (!servers.getFPHostname().isEmpty() && !servers.getFPPort().isEmpty() && !servers.getFPPlayerName().isEmpty()) {
25 lastfphost = servers.getFPHostname();
26 lastfpport = servers.getFPPort();
27 lastfpplayername = servers.getFPPlayerName();
28 }
29
30 hostLabel = new QLabel(tr("&Host:"));
31 hostEdit = new QLineEdit(lastfphost);
32 hostLabel->setBuddy(hostEdit);
33
34 portLabel = new QLabel(tr("&Port:"));
35 portEdit = new QLineEdit(lastfpport);
36 portLabel->setBuddy(portEdit);
37
38 playernameLabel = new QLabel(tr("Player &name:"));
39 playernameEdit = new QLineEdit(lastfpplayername);
40 playernameLabel->setBuddy(playernameEdit);
41
42 QGridLayout *grid = new QGridLayout;
43 grid->addWidget(hostLabel, 0, 0);
44 grid->addWidget(hostEdit, 0, 1);
45 grid->addWidget(portLabel, 1, 0);
46 grid->addWidget(portEdit, 1, 1);
47 grid->addWidget(playernameLabel, 2, 0);
48 grid->addWidget(playernameEdit, 2, 1);
49
50 QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
51 connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk()));
52 connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
53
54 QVBoxLayout *mainLayout = new QVBoxLayout;
55 mainLayout->addLayout(grid);
56 mainLayout->addWidget(buttonBox);
57 setLayout(mainLayout);
58
59 setWindowTitle(tr("Forgot Password Request"));
60 setFixedHeight(sizeHint().height());
61 setMinimumWidth(300);
62 }
63
actOk()64 void DlgForgotPasswordRequest::actOk()
65 {
66 if (playernameEdit->text().isEmpty()) {
67 QMessageBox::critical(this, tr("Forgot Password Request Warning"), tr("The player name can't be empty."));
68 return;
69 }
70
71 ServersSettings &servers = SettingsCache::instance().servers();
72 servers.setFPHostName(hostEdit->text());
73 servers.setFPPort(portEdit->text());
74 servers.setFPPlayerName(playernameEdit->text());
75
76 accept();
77 }
78