aboutsummaryrefslogtreecommitdiff
path: root/src/widgets
diff options
context:
space:
mode:
authorSalanto <62221668+Salanto@users.noreply.github.com>2024-07-31 11:55:25 +0200
committerGitHub <noreply@github.com>2024-07-31 11:55:25 +0200
commit4d1b0517e3d5704b26df7d8a9a492d182d36ea4b (patch)
tree3c88dca3a7a4591e59cf36b8faa60cff9569995f /src/widgets
parente82726ba5b4a2faf8caea747789d71f1e717f7f8 (diff)
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
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/moderator_dialog.cpp14
-rw-r--r--src/widgets/moderator_dialog.h4
2 files changed, 14 insertions, 4 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
diff --git a/src/widgets/moderator_dialog.h b/src/widgets/moderator_dialog.h
index 648f979d..558080f0 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;