aboutsummaryrefslogtreecommitdiff
path: root/src/aooptionsdialog.cpp
diff options
context:
space:
mode:
authorCrystalwarrior <varsash@gmail.com>2021-01-12 11:55:08 +0300
committerCrystalwarrior <varsash@gmail.com>2021-01-12 11:55:08 +0300
commit49c3dcdee5994a9af26dadfa987e9e53521a7b21 (patch)
tree1f6e0f60321ea0c545fb9e5a51b0c81e399eee47 /src/aooptionsdialog.cpp
parent98da2698a603c2dd131e523e305a961e805affd7 (diff)
parent2d1de1fb544a195a32846b07b0b61be59945107a (diff)
Merge branch 'master' into feature/timerclock
# Conflicts: # include/courtroom.h
Diffstat (limited to 'src/aooptionsdialog.cpp')
-rw-r--r--src/aooptionsdialog.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp
index 314e9820..7b425207 100644
--- a/src/aooptionsdialog.cpp
+++ b/src/aooptionsdialog.cpp
@@ -176,6 +176,48 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app)
ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_log_ic_actions_cb);
+
+ row += 1;
+ ui_stay_time_lbl = new QLabel(ui_form_layout_widget);
+ ui_stay_time_lbl->setText(tr("Text Stay Time:"));
+ ui_stay_time_lbl->setToolTip(tr(
+ "Minimum amount of time (in miliseconds) an IC message must stay on screen before "
+ "the next IC message is shown, acting as a 'queue'. Set to 0 to disable this behaivor."));
+
+ ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_stay_time_lbl);
+
+ ui_stay_time_spinbox = new QSpinBox(ui_form_layout_widget);
+ ui_stay_time_spinbox->setMaximum(10000);
+ ui_stay_time_spinbox->setValue(p_ao_app->stay_time());
+
+ ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_stay_time_spinbox);
+
+ row += 1;
+ ui_desync_logs_lbl = new QLabel(ui_form_layout_widget);
+ ui_desync_logs_lbl->setText(tr("Desynchronize IC Logs:"));
+ ui_desync_logs_lbl->setToolTip(
+ tr("If ticked, log will show messages as-received, while viewport will parse according to the queue (Text Stay Time)."));
+
+ ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_desync_logs_lbl);
+
+ ui_desync_logs_cb = new QCheckBox(ui_form_layout_widget);
+ ui_desync_logs_cb->setChecked(p_ao_app->get_log_timestamp());
+
+ ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_desync_logs_cb);
+
+ row += 1;
+ ui_instant_objection_lbl = new QLabel(ui_form_layout_widget);
+ ui_instant_objection_lbl->setText(tr("Instant Objection:"));
+ ui_instant_objection_lbl->setToolTip(
+ tr("If Text Stay Time is more than 0, instant objection will skip queued messages instead of waiting to catch up."));
+
+ ui_gameplay_form->setWidget(row, QFormLayout::LabelRole, ui_instant_objection_lbl);
+
+ ui_instant_objection_cb = new QCheckBox(ui_form_layout_widget);
+ ui_instant_objection_cb->setChecked(ao_app->is_instant_objection_enabled());
+
+ ui_gameplay_form->setWidget(row, QFormLayout::FieldRole, ui_instant_objection_cb);
+
row += 1;
ui_log_names_divider = new QFrame(ui_form_layout_widget);
ui_log_names_divider->setFrameShape(QFrame::HLine);
@@ -779,6 +821,9 @@ void AOOptionsDialog::save_pressed()
configini->setValue("log_margin", ui_log_margin_spinbox->value());
configini->setValue("log_timestamp", ui_log_timestamp_cb->isChecked());
configini->setValue("log_ic_actions", ui_log_ic_actions_cb->isChecked());
+ 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("default_username", ui_username_textbox->text());
configini->setValue("show_custom_shownames", ui_showname_cb->isChecked());
configini->setValue("master", ui_ms_textbox->text());