From 5c69d10cd5fface32aea04cea1d288783d376179 Mon Sep 17 00:00:00 2001 From: Crystalwarrior Date: Fri, 13 Sep 2019 11:31:06 +0300 Subject: [PATCH] Add a tool tip to blip rate settings Adapt the blip rate to allow variable speed value array sizes --- include/aoapplication.h | 2 +- src/aooptionsdialog.cpp | 2 ++ src/courtroom.cpp | 7 +++---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/aoapplication.h b/include/aoapplication.h index e6cb21d..4a3c669 100644 --- a/include/aoapplication.h +++ b/include/aoapplication.h @@ -144,7 +144,7 @@ public: //Returns the value of ooc_name in config.ini QString get_ooc_name(); - //Returns the blip rate from config.ini + //Returns the blip rate from config.ini (once per X symbols) int read_blip_rate(); //Returns true if blank blips is enabled in config.ini and false otherwise diff --git a/src/aooptionsdialog.cpp b/src/aooptionsdialog.cpp index e86255b..a918c0c 100644 --- a/src/aooptionsdialog.cpp +++ b/src/aooptionsdialog.cpp @@ -319,6 +319,8 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi ui_bliprate_spinbox = new QSpinBox(ui_audio_widget); ui_bliprate_spinbox->setValue(p_ao_app->read_blip_rate()); ui_bliprate_spinbox->setMinimum(1); + ui_bliprate_spinbox->setToolTip(tr("Play a blip sound \"once per every X symbols\", where " + "X is the blip rate.")); ui_audio_layout->setWidget(6, QFormLayout::FieldRole, ui_bliprate_spinbox); diff --git a/src/courtroom.cpp b/src/courtroom.cpp index cd51004..0faab3e 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -2275,13 +2275,11 @@ void Courtroom::chat_tick() if (f_character != ' ' || blank_blip) { - if (blip_pos % blip_rate == 0 && !formatting_char) { blip_pos = 0; blip_player->blip_tick(); } - ++blip_pos; } @@ -2289,14 +2287,15 @@ void Courtroom::chat_tick() // Restart the timer, but according to the newly set speeds, if there were any. // Keep the speed at bay. + int max_speed = sizeof(message_display_speed) / sizeof(message_display_speed[0]); //7 entries by default if (current_display_speed < 0) { current_display_speed = 0; } - if (current_display_speed > 6) + if (current_display_speed >= max_speed) { - current_display_speed = 6; + current_display_speed = max_speed-1; } // If we had a formatting char, we shouldn't wait so long again, as it won't appear!