23 #include "miscserversetuppanel.h"
24 #include "ui_miscserversetuppanel.h"
26 #include "configuration/passwordscfg.h"
28 #include "plugins/engineplugin.h"
29 #include "serverapi/gamecreateparams.h"
31 DClass<MiscServerSetupPanel> :
public Ui::MiscServerSetupPanel
34 bool anythingAvailable;
43 d->anythingAvailable =
false;
46 setHidePasswords(passCfg.isHidingPasswords());
49 MiscServerSetupPanel::~MiscServerSetupPanel()
55 params.setEmail(d->leEmail->text());
56 params.setMotd(d->pteMOTD->toPlainText());
57 params.setConnectPassword(d->leConnectPassword->text());
58 params.setIngamePassword(d->leJoinPassword->text());
59 params.setRconPassword(d->leRConPassword->text());
60 params.setUrl(d->leURL->text());
63 bool MiscServerSetupPanel::isAnythingAvailable()
const
65 return d->anythingAvailable;
68 void MiscServerSetupPanel::loadConfig(
Ini &config)
71 d->leURL->setText(misc[
"URL"]);
72 d->leEmail->setText(misc[
"eMail"]);
73 d->leConnectPassword->setText(misc[
"connectPassword"]);
74 d->leJoinPassword->setText(misc[
"joinPassword"]);
75 d->leRConPassword->setText(misc[
"RConPassword"]);
76 d->pteMOTD->document()->setPlainText(misc[
"MOTD"]);
79 void MiscServerSetupPanel::saveConfig(
Ini &config)
82 misc[
"URL"] = d->leURL->text();
83 misc[
"eMail"] = d->leEmail->text();
84 misc[
"connectPassword"] = d->leConnectPassword->text();
85 misc[
"joinPassword"] = d->leJoinPassword->text();
86 misc[
"RConPassword"] = d->leRConPassword->text();
87 misc[
"MOTD"] = d->pteMOTD->toPlainText();
90 void MiscServerSetupPanel::setupForEngine(
const EnginePlugin *engine)
92 d->anythingAvailable =
false;
102 const FormItem items[] =
104 { engine->data()->allowsURL, d->labelURL, d->leURL },
105 { engine->data()->allowsEmail, d->labelEmail, d->leEmail },
106 { engine->data()->allowsConnectPassword, d->labelConnectPassword, d->leConnectPassword },
107 { engine->data()->allowsJoinPassword, d->labelJoinPassword, d->leJoinPassword },
108 { engine->data()->allowsRConPassword, d->labelRConPassword, d->leRConPassword },
109 { engine->data()->allowsConnectPassword
110 || engine->data()->allowsJoinPassword
111 || engine->data()->allowsRConPassword,
nullptr, d->cbHidePasswords },
115 while (d->formLayout->count() > 0)
116 d->formLayout->takeAt(0);
119 for (
const FormItem &item : items)
122 item.label->setVisible(item.visible);
124 item.widget->setVisible(item.visible);
126 d->formLayout->addRow(item.label, item.widget);
127 d->anythingAvailable = item.visible || d->anythingAvailable;
130 const bool motd = engine->data()->allowsMOTD;
131 d->labelMOTD->setVisible(motd);
132 d->pteMOTD->setVisible(motd);
133 d->anythingAvailable = motd || d->anythingAvailable;
136 void MiscServerSetupPanel::setHidePasswords(
bool hide)
138 d->cbHidePasswords->blockSignals(
true);
139 d->cbHidePasswords->setChecked(hide);
140 d->cbHidePasswords->blockSignals(
false);
141 QLineEdit::EchoMode echoMode = hide ? QLineEdit::Password : QLineEdit::Normal;
142 d->leConnectPassword->setEchoMode(echoMode);
143 d->leJoinPassword->setEchoMode(echoMode);
144 d->leRConPassword->setEchoMode(echoMode);