From 4d1b0517e3d5704b26df7d8a9a492d182d36ea4b Mon Sep 17 00:00:00 2001 From: Salanto <62221668+Salanto@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:55:25 +0200 Subject: V2.11.0 rc1 fixes (#1029) * Use unix timestamp to transmit ban duration * Cleanup compiler warning due to narrowing conversion * Fix preanim not being visible This is apparently not a feature we want from WebAO :^) * Bump to RC2 * Use std::chrono instead * Remove random include and debug call --- src/widgets/moderator_dialog.cpp | 14 +++++++++++--- src/widgets/moderator_dialog.h | 4 +++- 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/moderator_dialog.cpp b/src/widgets/moderator_dialog.cpp index 11b99cc..a39840f 100644 --- a/src/widgets/moderator_dialog.cpp +++ b/src/widgets/moderator_dialog.cpp @@ -9,6 +9,7 @@ #include #include #include +#include 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::days(ui_duration_dd->value())).count(); + duration = duration + std::chrono::duration_cast(std::chrono::hours(ui_duration_hh->value())).count(); + duration = duration + std::chrono::duration_cast(std::chrono::minutes(ui_duration_mm->value())).count(); + arglist.append(QString::number(duration)); } } else diff --git a/src/widgets/moderator_dialog.h b/src/widgets/moderator_dialog.h index 648f979..558080f 100644 --- a/src/widgets/moderator_dialog.h +++ b/src/widgets/moderator_dialog.h @@ -27,7 +27,9 @@ private: QWidget *ui_widget; QComboBox *ui_action; - QSpinBox *ui_duration; + QSpinBox *ui_duration_mm; + QSpinBox *ui_duration_hh; + QSpinBox *ui_duration_dd; QLabel *ui_duration_label; QCheckBox *ui_permanent; QTextEdit *ui_details; -- cgit