diff options
| author | Crystalwarrior <Varsash@Gmail.com> | 2021-01-15 00:45:30 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-14 15:45:30 -0600 |
| commit | c42496e20479edd72ab57860967aed8592bd383b (patch) | |
| tree | a9b6e218f3d54288308fc49e9e247c9d0d3f8d97 /src | |
| parent | 31798583a913c0f869e1bb1126a683a0b353a03c (diff) | |
Make chat rate limit configurable (#398)
Co-authored-by: stonedDiscord <10584181+stonedDiscord@users.noreply.github.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/aooptionsdialog.cpp | 14 | ||||
| -rw-r--r-- | src/courtroom.cpp | 2 | ||||
| -rw-r--r-- | src/text_file_functions.cpp | 6 |
3 files changed, 21 insertions, 1 deletions
diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp index c560a2d..0fbee47 100644 --- a/src/aooptionsdialog.cpp +++ b/src/aooptionsdialog.cpp @@ -219,6 +219,19 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_instant_objection_cb); row += 1; + ui_chat_ratelimit_lbl = new QLabel(ui_form_layout_widget); + ui_chat_ratelimit_lbl->setText(tr("Chat Rate Limit:")); + ui_chat_ratelimit_lbl->setToolTip(tr( + "Minimum amount of time (in miliseconds) that must pass before the next Enter key press will send your IC message.")); + + ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_chat_ratelimit_lbl); + + ui_chat_ratelimit_spinbox = new QSpinBox(ui_form_layout_widget); + ui_chat_ratelimit_spinbox->setMaximum(5000); + ui_chat_ratelimit_spinbox->setValue(p_ao_app->get_chat_ratelimit()); + + ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_chat_ratelimit_spinbox); + row += 1; ui_log_names_divider = new QFrame(ui_form_layout_widget); ui_log_names_divider->setFrameShape(QFrame::HLine); ui_log_names_divider->setFrameShadow(QFrame::Sunken); @@ -824,6 +837,7 @@ void AOOptionsDialog::save_pressed() configini->setValue("desync_logs", ui_desync_logs_cb->isChecked()); configini->setValue("stay_time", ui_stay_time_spinbox->value()); configini->setValue("instant_objection", ui_instant_objection_cb->isChecked()); + configini->setValue("chat_ratelimit", ui_chat_ratelimit_spinbox->value()); configini->setValue("default_username", ui_username_textbox->text()); configini->setValue("show_custom_shownames", ui_showname_cb->isChecked()); configini->setValue("master", ui_ms_textbox->text()); diff --git a/src/courtroom.cpp b/src/courtroom.cpp index 4e8e6ac..ed256c0 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -1627,7 +1627,7 @@ void Courtroom::on_chat_return_pressed() return; ui_ic_chat_message->blockSignals(true); - QTimer::singleShot(600, this, + QTimer::singleShot(ao_app->get_chat_ratelimit(), this, [=] { ui_ic_chat_message->blockSignals(false); }); // MS# // deskmod# diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp index ffb59c4..e79411a 100644 --- a/src/text_file_functions.cpp +++ b/src/text_file_functions.cpp @@ -52,6 +52,12 @@ int AOApplication::stay_time() return result; } +int AOApplication::get_chat_ratelimit() +{ + int result = configini->value("chat_ratelimit", 300).toInt(); + return result; +} + bool AOApplication::get_log_goes_downwards() { QString result = |
