diff -r 3ccc61102b58 -r 695f1eef72c8 QTfrontend/ui/dialog/bandialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/ui/dialog/bandialog.cpp Sat Dec 01 00:38:06 2012 +0400 @@ -0,0 +1,85 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "bandialog.h" + +BanDialog::BanDialog(QWidget *parent) : + QDialog(parent) +{ + QFormLayout * formLayout = new QFormLayout(this); + + rbIP = new QRadioButton(this); + rbIP->setChecked(true); + rbNick = new QRadioButton(this); + leId = new QLineEdit(this); + leReason = new QLineEdit(this); + cbTime = new QComboBox(this); + + cbTime->addItem(tr("10 minutes"), 5 * 60); + cbTime->addItem(tr("30 minutes"), 10 * 60); + cbTime->addItem(tr("1 hour"), 60 * 60); + cbTime->addItem(tr("3 hours"), 3 * 60 * 60); + cbTime->addItem(tr("5 hours"), 5 * 60 * 60); + cbTime->addItem(tr("24 hours"), 24 * 60 * 60); + cbTime->addItem(tr("3 days"), 72 * 60 * 60); + cbTime->addItem(tr("7 days"), 168 * 60 * 60); + cbTime->addItem(tr("14 days"), 336 * 60 * 60); + cbTime->addItem(tr("permanent"), 3650 * 60 * 60); + cbTime->setCurrentIndex(0); + + formLayout->addRow(tr("IP"), rbIP); + formLayout->addRow(tr("Nick"), rbNick); + formLayout->addRow(tr("IP/Nick"), leId); + formLayout->addRow(tr("Reason"), leReason); + formLayout->addRow(tr("Duration"), cbTime); + + formLayout->setLabelAlignment(Qt::AlignRight); + + QHBoxLayout * hbox = new QHBoxLayout(); + formLayout->addRow(hbox); + QPushButton * btnOk = new QPushButton(tr("Ok"), this); + QPushButton * btnCancel = new QPushButton(tr("Cancel"), this); + hbox->addStretch(); + hbox->addWidget(btnOk); + hbox->addWidget(btnCancel); + + connect(btnOk, SIGNAL(clicked()), this, SLOT(okClicked())); + connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject())); +} + +bool BanDialog::byIP() +{ + return rbIP->isChecked(); +} + +int BanDialog::duration() +{ + return cbTime->itemData(cbTime->currentIndex()).toInt(); +} + +QString BanDialog::banId() +{ + return leId->text(); +} + +QString BanDialog::reason() +{ + return leReason->text().isEmpty() ? tr("you know why") : leReason->text(); +} + +void BanDialog::okClicked() +{ + if(leId->text().isEmpty()) + { + QMessageBox::warning(this, tr("Warning"), tr("Please, specify %1").arg(byIP() ? tr("IP") : tr("nickname"))); + return; + } + + accept(); +}