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