diff options
| author | Cerapter <cerap@protonmail.com> | 2018-10-23 16:15:15 +0200 |
|---|---|---|
| committer | Cerapter <cerap@protonmail.com> | 2018-10-23 16:15:15 +0200 |
| commit | de8badc9a6e74ca29cbc04ab5438d6eed2eb8984 (patch) | |
| tree | eca5e15e0036fbd117be92029c57f039e2b0606f /aocaseannouncerdialog.cpp | |
| parent | 660daf9922e68eb5f5f6bb00eb3bc51d0c460de7 (diff) | |
Support for case alerts serverside.
- Users can use an ingame button to alert people of cases.
Diffstat (limited to 'aocaseannouncerdialog.cpp')
| -rw-r--r-- | aocaseannouncerdialog.cpp | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/aocaseannouncerdialog.cpp b/aocaseannouncerdialog.cpp new file mode 100644 index 00000000..aa373535 --- /dev/null +++ b/aocaseannouncerdialog.cpp @@ -0,0 +1,77 @@ +#include "aocaseannouncerdialog.h" + +AOCaseAnnouncerDialog::AOCaseAnnouncerDialog(QWidget *parent, AOApplication *p_ao_app, Courtroom *p_court) +{ + ao_app = p_ao_app; + court = p_court; + + setWindowTitle("Case Announcer"); + resize(405, 235); + + AnnouncerButtons = new QDialogButtonBox(this); + + QSizePolicy sizepolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + sizepolicy.setHorizontalStretch(0); + sizepolicy.setVerticalStretch(0); + sizepolicy.setHeightForWidth(AnnouncerButtons->sizePolicy().hasHeightForWidth()); + AnnouncerButtons->setSizePolicy(sizepolicy); + AnnouncerButtons->setOrientation(Qt::Horizontal); + AnnouncerButtons->setStandardButtons(QDialogButtonBox::Ok|QDialogButtonBox::Cancel); + + QObject::connect(AnnouncerButtons, SIGNAL(accepted()), this, SLOT(ok_pressed())); + QObject::connect(AnnouncerButtons, SIGNAL(rejected()), this, SLOT(cancel_pressed())); + + setUpdatesEnabled(false); + + VBoxLayout = new QVBoxLayout(this); + + FormLayout = new QFormLayout(this); + FormLayout->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter); + FormLayout->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop); + FormLayout->setContentsMargins(6, 6, 6, 6); + + VBoxLayout->addItem(FormLayout); + VBoxLayout->addWidget(AnnouncerButtons); + + CaseTitleLabel = new QLabel(this); + CaseTitleLabel->setText("Case title:"); + + FormLayout->setWidget(0, QFormLayout::LabelRole, CaseTitleLabel); + + CaseTitleLineEdit = new QLineEdit(this); + CaseTitleLineEdit->setMaxLength(50); + + FormLayout->setWidget(0, QFormLayout::FieldRole, CaseTitleLineEdit); + + DefenceNeeded = new QCheckBox(this); + DefenceNeeded->setText("Defence needed"); + ProsecutorNeeded = new QCheckBox(this); + ProsecutorNeeded->setText("Prosecution needed"); + JudgeNeeded = new QCheckBox(this); + JudgeNeeded->setText("Judge needed"); + JurorNeeded = new QCheckBox(this); + JurorNeeded->setText("Jurors needed"); + + FormLayout->setWidget(1, QFormLayout::FieldRole, DefenceNeeded); + FormLayout->setWidget(2, QFormLayout::FieldRole, ProsecutorNeeded); + FormLayout->setWidget(3, QFormLayout::FieldRole, JudgeNeeded); + FormLayout->setWidget(4, QFormLayout::FieldRole, JurorNeeded); + + setUpdatesEnabled(true); +} + +void AOCaseAnnouncerDialog::ok_pressed() +{ + court->announce_case(CaseTitleLineEdit->text(), + DefenceNeeded->isChecked(), + ProsecutorNeeded->isChecked(), + JudgeNeeded->isChecked(), + JurorNeeded->isChecked()); + + done(0); +} + +void AOCaseAnnouncerDialog::cancel_pressed() +{ + done(0); +} |
