aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--courtroom.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/courtroom.cpp b/courtroom.cpp
index f6935ba1..b3c3ba29 100644
--- a/courtroom.cpp
+++ b/courtroom.cpp
@@ -2019,20 +2019,25 @@ void Courtroom::on_spectator_clicked()
void Courtroom::on_call_mod_clicked()
{
if (ao_app->modcall_reason_enabled) {
- auto box = new QInputDialog();
- box->setLabelText("Enter a reason:");
- auto code = box->exec();
+ QMessageBox errorBox;
+ QInputDialog input;
- if (code != QDialog::Accepted) {
- delete box;
- return;
- }
+ input.setWindowFlags(Qt::WindowSystemMenuHint);
+ input.setLabelText("Reason:");
+ input.setWindowTitle("Call Moderator");
+ auto code = input.exec();
- auto text = box->textValue();
- if (text.isEmpty())
- text = "N/A";
+ if (code != QDialog::Accepted)
+ return;
- delete box;
+ QString text = input.textValue();
+ if (text.isEmpty()) {
+ errorBox.critical(nullptr, "Error", "You must provide a reason.");
+ return;
+ } else if (text.length() > 256) {
+ errorBox.critical(nullptr, "Error", "The message is too long.");
+ return;
+ }
QStringList mod_reason;
mod_reason.append(text);