From db345e2e48dc157e2f8f6aeaabab221bdffd3c68 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Fri, 24 Feb 2017 03:37:28 -0800 Subject: [PATCH] UI: Improve accessibility text on main window --- UI/data/locale/en-US.ini | 6 ++++++ UI/forms/OBSBasic.ui | 9 +++++++++ UI/volume-control.cpp | 28 ++++++++++++++++++++++++---- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index 1d916569c..001cdf4f0 100644 --- a/UI/data/locale/en-US.ini +++ b/UI/data/locale/en-US.ini @@ -219,6 +219,12 @@ Deinterlacing.Yadif2x="Yadif 2x" Deinterlacing.TopFieldFirst="Top Field First" Deinterlacing.BottomFieldFirst="Bottom Field First" +# volume control accessibility text +VolControl.SliderUnmuted="Volume slider for '%1': %2" +VolControl.SliderMuted="Volume slider for '%1': %2 (currently muted)" +VolControl.Mute="Mute '%1'" +VolControl.Properties="Properties for '%1'" + # add scene dialog Basic.Main.AddSceneDlg.Title="Add Scene" Basic.Main.AddSceneDlg.Text="Please enter the name of the scene" diff --git a/UI/forms/OBSBasic.ui b/UI/forms/OBSBasic.ui index 912aa338a..92aa8ed16 100644 --- a/UI/forms/OBSBasic.ui +++ b/UI/forms/OBSBasic.ui @@ -608,6 +608,9 @@ 0 + + Transition + @@ -754,10 +757,16 @@ Basic.TransitionDuration + + transitionDuration + + + Basic.TransitionDuration + ms diff --git a/UI/volume-control.cpp b/UI/volume-control.cpp index 4fa7a0e09..ba6620986 100644 --- a/UI/volume-control.cpp +++ b/UI/volume-control.cpp @@ -1,5 +1,6 @@ #include "volume-control.hpp" #include "qt-wrappers.hpp" +#include "obs-app.hpp" #include "mute-checkbox.hpp" #include "slider-absoluteset-style.hpp" #include @@ -86,8 +87,19 @@ void VolControl::SliderChanged(int vol) void VolControl::updateText() { - volLabel->setText(QString::number(obs_fader_get_db(obs_fader), 'f', 1) - .append(" dB")); + QString db = QString::number(obs_fader_get_db(obs_fader), 'f', 1) + .append(" dB"); + volLabel->setText(db); + + bool muted = obs_source_muted(source); + const char *accTextLookup = muted + ? "VolControl.SliderMuted" + : "VolControl.SliderUnmuted"; + + QString sourceName = obs_source_get_name(source); + QString accText = QTStr(accTextLookup).arg(sourceName, db); + + slider->setAccessibleName(accText); } QString VolControl::GetName() const @@ -126,7 +138,9 @@ VolControl::VolControl(OBSSource source_, bool showConfig) QFont font = nameLabel->font(); font.setPointSize(font.pointSize()-1); - nameLabel->setText(obs_source_get_name(source)); + QString sourceName = obs_source_get_name(source); + + nameLabel->setText(sourceName); nameLabel->setFont(font); volLabel->setFont(font); slider->setMinimum(0); @@ -140,7 +154,10 @@ VolControl::VolControl(OBSSource source_, bool showConfig) textLayout->setAlignment(nameLabel, Qt::AlignLeft); textLayout->setAlignment(volLabel, Qt::AlignRight); - mute->setChecked(obs_source_muted(source)); + bool muted = obs_source_muted(source); + mute->setChecked(muted); + mute->setAccessibleName( + QTStr("VolControl.Mute").arg(sourceName)); volLayout->addWidget(slider); volLayout->addWidget(mute); @@ -159,6 +176,9 @@ VolControl::VolControl(OBSSource source_, bool showConfig) config->setMaximumSize(22, 22); config->setAutoDefault(false); + config->setAccessibleName(QTStr("VolControl.Properties") + .arg(sourceName)); + connect(config, &QAbstractButton::clicked, this, &VolControl::EmitConfigClicked);