3
#include <QRadioButton>
9
#include "HWApplication.h"
11
#include "bandialog.h"
13
BanDialog::BanDialog(QWidget *parent) :
16
QFormLayout * formLayout = new QFormLayout(this);
18
rbIP = new QRadioButton(this);
19
rbIP->setChecked(true);
20
rbNick = new QRadioButton(this);
21
leId = new QLineEdit(this);
22
leReason = new QLineEdit(this);
23
cbTime = new QComboBox(this);
25
cbTime->addItem(HWApplication::tr("%1 minutes", 0, 10).arg("10"), 5 * 60);
26
cbTime->addItem(HWApplication::tr("%1 minutes", 0, 30).arg("30"), 10 * 60);
27
cbTime->addItem(HWApplication::tr("%1 hour", 0, 10).arg("10"), 60 * 60);
28
cbTime->addItem(HWApplication::tr("%1 hours", 0, 3).arg("3"), 3 * 60 * 60);
29
cbTime->addItem(HWApplication::tr("%1 hours", 0, 5).arg("5"), 5 * 60 * 60);
30
cbTime->addItem(HWApplication::tr("%1 hours", 0, 12).arg("12"), 12 * 60 * 60);
31
cbTime->addItem(HWApplication::tr("%1 day", 0, 1).arg("1"), 24 * 60 * 60);
32
cbTime->addItem(HWApplication::tr("%1 days", 0, 3).arg("3"), 72 * 60 * 60);
33
cbTime->addItem(HWApplication::tr("%1 days", 0, 7).arg("7"), 168 * 60 * 60);
34
cbTime->addItem(HWApplication::tr("%1 days", 0, 14).arg("14"), 336 * 60 * 60);
35
cbTime->addItem(tr("permanent"), 3650 * 24 * 60 * 60);
36
cbTime->setCurrentIndex(0);
38
formLayout->addRow(tr("IP"), rbIP);
39
formLayout->addRow(tr("Nick"), rbNick);
40
formLayout->addRow(tr("IP/Nick"), leId);
41
formLayout->addRow(tr("Reason"), leReason);
42
formLayout->addRow(tr("Duration"), cbTime);
44
formLayout->setLabelAlignment(Qt::AlignRight);
46
QHBoxLayout * hbox = new QHBoxLayout();
47
formLayout->addRow(hbox);
48
QPushButton * btnOk = new QPushButton(tr("Ok"), this);
49
QPushButton * btnCancel = new QPushButton(tr("Cancel"), this);
51
hbox->addWidget(btnOk);
52
hbox->addWidget(btnCancel);
54
connect(btnOk, SIGNAL(clicked()), this, SLOT(okClicked()));
55
connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
57
this->setWindowModality(Qt::WindowModal);
60
bool BanDialog::byIP()
62
return rbIP->isChecked();
65
int BanDialog::duration()
67
return cbTime->itemData(cbTime->currentIndex()).toInt();
70
QString BanDialog::banId()
75
QString BanDialog::reason()
77
return leReason->text().isEmpty() ? tr("you know why") : leReason->text();
80
void BanDialog::okClicked()
82
if(leId->text().isEmpty())
84
QMessageBox::warning(this, tr("Warning"), tr("Please, specify %1").arg(byIP() ? tr("IP") : tr("nickname")));