diff options
Diffstat (limited to 'src/widgets/moderator_dialog.cpp')
| -rw-r--r-- | src/widgets/moderator_dialog.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/widgets/moderator_dialog.cpp b/src/widgets/moderator_dialog.cpp index 11b99ccf..a39840fe 100644 --- a/src/widgets/moderator_dialog.cpp +++ b/src/widgets/moderator_dialog.cpp @@ -9,6 +9,7 @@ #include <QMessageBox> #include <QUiLoader> #include <QVBoxLayout> +#include <chrono> const QString ModeratorDialog::UI_FILE_PATH = "moderator_action_dialog.ui"; @@ -31,7 +32,9 @@ ModeratorDialog::ModeratorDialog(int clientId, bool ban, AOApplication *ao_app, layout->addWidget(ui_widget); FROM_UI(QComboBox, action); - FROM_UI(QSpinBox, duration); + FROM_UI(QSpinBox, duration_mm); + FROM_UI(QSpinBox, duration_hh); + FROM_UI(QSpinBox, duration_dd); FROM_UI(QLabel, duration_label); FROM_UI(QCheckBox, permanent); FROM_UI(QTextEdit, details); @@ -46,7 +49,9 @@ ModeratorDialog::ModeratorDialog(int clientId, bool ban, AOApplication *ao_app, ui_action->addItem(tr("Kick")); } - ui_duration->setVisible(m_ban); + ui_duration_mm->setVisible(m_ban); + ui_duration_hh->setVisible(m_ban); + ui_duration_dd->setVisible(m_ban); ui_duration_label->setVisible(m_ban); ui_permanent->setVisible(m_ban); @@ -87,7 +92,10 @@ void ModeratorDialog::onAcceptedClicked() } else { - arglist.append(QString::number(ui_duration->value())); + qint64 duration = std::chrono::duration_cast<std::chrono::seconds>(std::chrono::days(ui_duration_dd->value())).count(); + duration = duration + std::chrono::duration_cast<std::chrono::seconds>(std::chrono::hours(ui_duration_hh->value())).count(); + duration = duration + std::chrono::duration_cast<std::chrono::seconds>(std::chrono::minutes(ui_duration_mm->value())).count(); + arglist.append(QString::number(duration)); } } else |
