From 55cb51c330bd4ce5375b52d27b610cd77dfc3a7f Mon Sep 17 00:00:00 2001 From: Shoh Sewell Date: Wed, 3 May 2023 17:59:24 -0700 Subject: [PATCH] Adds decimal digits to volume slider tooltip (#356) * Adds decimal digits to volume slider tooltip Modifies the volume slider tooltip so that: -If the volume slider falls below 10%, the volume tooltip will display one decimal digit of precision (e.g. 3.4%). -Else if the volume slider falls below 1%, display one decimal digit of precision (e.g. 0.34%). -Otherwise display the volume slider tooltip as normal. This helps show changes in volume between 0% and 10% where a change in volume isn't shown in the UI but is heard (especially when the "Limit volume control to 100%" option is unchecked in the "Output" Preferences submenu. * Update VolumeSlider.m Fix variable declaration --------- Co-authored-by: Christopher Snowhill --- Window/VolumeSlider.m | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Window/VolumeSlider.m b/Window/VolumeSlider.m index a2a489afd..14223f32a 100644 --- a/Window/VolumeSlider.m +++ b/Window/VolumeSlider.m @@ -63,8 +63,17 @@ static void *kVolumeSliderContext = &kVolumeSliderContext; double value = [self doubleValue]; double volume; volume = linearToLogarithmic(value, MAX_VOLUME); + NSString *text; - NSString *text = [NSString stringWithFormat:@"%0.lf%%", volume]; + // If volume becomes less than 1%, display two decimal digits of precision (e.g. 0.34%). + if(volume < 1) + text = [NSString stringWithFormat:@"%0.2lf%%", volume]; + // Else if volume becomes less than 10%, display one decimal digit of precision (e.g. 3.4%). + else if(volume < 10) + text = [NSString stringWithFormat:@"%0.1lf%%", volume]; + // Else display no decimal digits. + else + text = [NSString stringWithFormat:@"%0.lf%%", volume]; [textView setString:text]; }