added some accessibility support
This commit is contained in:
parent
a7b471cace
commit
7e0ae4b765
7 changed files with 74 additions and 24 deletions
|
@ -224,6 +224,10 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
<tabstops>
|
||||||
|
<tabstop>buttonOk</tabstop>
|
||||||
|
<tabstop>TextViewCredits</tabstop>
|
||||||
|
</tabstops>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="resources.qrc" />
|
<include location="resources.qrc" />
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -73,18 +73,23 @@ CChannelFader::CChannelFader ( QWidget* pNW,
|
||||||
pFader->setWhatsThis ( "<b>Mixer Fader:</b> Adjusts the audio level of "
|
pFader->setWhatsThis ( "<b>Mixer Fader:</b> Adjusts the audio level of "
|
||||||
"this channel. All connected clients at the server will be assigned "
|
"this channel. All connected clients at the server will be assigned "
|
||||||
"an audio fader at each client." );
|
"an audio fader at each client." );
|
||||||
|
pFader->setAccessibleName ( "Mixer level setting of the connected client "
|
||||||
|
"at the server" );
|
||||||
|
|
||||||
pcbMute->setWhatsThis ( "<b>Mute:</b> With the Mute checkbox, the current "
|
pcbMute->setWhatsThis ( "<b>Mute:</b> With the Mute checkbox, the current "
|
||||||
"audio channel can be muted." );
|
"audio channel can be muted." );
|
||||||
|
pcbMute->setAccessibleName ( "Mute button" );
|
||||||
|
|
||||||
pcbSolo->setWhatsThis ( "<b>Solo:</b> With the Solo checkbox, the current "
|
pcbSolo->setWhatsThis ( "<b>Solo:</b> With the Solo checkbox, the current "
|
||||||
"audio channel can be set to solo which means that all other channels "
|
"audio channel can be set to solo which means that all other channels "
|
||||||
"except of the current channel are muted.<br/>"
|
"except of the current channel are muted.<br/>"
|
||||||
"Only one channel at a time can be set to solo." );
|
"Only one channel at a time can be set to solo." );
|
||||||
|
pcbSolo->setAccessibleName ( "Solo button" );
|
||||||
|
|
||||||
pLabel->setWhatsThis ( "<b>Mixer Fader Label:</b> Label (fader tag) "
|
pLabel->setWhatsThis ( "<b>Mixer Fader Label:</b> Label (fader tag) "
|
||||||
"identifying the connected client. The tag name can be set in the "
|
"identifying the connected client. The tag name can be set in the "
|
||||||
"clients main window." );
|
"clients main window." );
|
||||||
|
pLabel->setAccessibleName ( "Mixer level label (fader tag)" );
|
||||||
|
|
||||||
|
|
||||||
// connections -------------------------------------------------------------
|
// connections -------------------------------------------------------------
|
||||||
|
|
|
@ -31,7 +31,8 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
|
||||||
{
|
{
|
||||||
setupUi ( this );
|
setupUi ( this );
|
||||||
|
|
||||||
// add help text to controls
|
// add help text to controls -----------------------------------------------
|
||||||
|
// jitter buffer
|
||||||
QString strJitterBufferSize = tr ( "<b>Jitter Buffer Size:</b> The size of "
|
QString strJitterBufferSize = tr ( "<b>Jitter Buffer Size:</b> The size of "
|
||||||
"the network buffer (jitter buffer). The jitter buffer compensates for "
|
"the network buffer (jitter buffer). The jitter buffer compensates for "
|
||||||
"the network jitter. The larger this buffer is, the more robust the "
|
"the network jitter. The larger this buffer is, the more robust the "
|
||||||
|
@ -39,9 +40,12 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
|
||||||
"This setting is therefore a trade-off between audio drop outs and "
|
"This setting is therefore a trade-off between audio drop outs and "
|
||||||
"overall audio delay.<br>By changing this setting, both, the client "
|
"overall audio delay.<br>By changing this setting, both, the client "
|
||||||
"and the server jitter buffer is set to the same value." );
|
"and the server jitter buffer is set to the same value." );
|
||||||
SliderNetBuf->setWhatsThis ( strJitterBufferSize );
|
TextNetBuf->setWhatsThis ( strJitterBufferSize );
|
||||||
TextNetBuf->setWhatsThis ( strJitterBufferSize );
|
|
||||||
GroupBoxJitterBuffer->setWhatsThis ( strJitterBufferSize );
|
GroupBoxJitterBuffer->setWhatsThis ( strJitterBufferSize );
|
||||||
|
SliderNetBuf->setWhatsThis ( strJitterBufferSize );
|
||||||
|
SliderNetBuf->setAccessibleName ( "Jitter buffer slider control" );
|
||||||
|
cbAutoJitBuf->setAccessibleName ( "Auto jitter buffer switch" );
|
||||||
|
|
||||||
|
|
||||||
// init driver button
|
// init driver button
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
|
@ -49,45 +49,67 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
{
|
{
|
||||||
setupUi ( this );
|
setupUi ( this );
|
||||||
|
|
||||||
// add help text to controls
|
// add help text to controls -----------------------------------------------
|
||||||
QString strInpLevH = tr ( "<b>Input level meter:</b> The input level "
|
// input level meter
|
||||||
|
QString strInpLevH = tr ( "<b>Input Level Meter:</b> The input level "
|
||||||
"indicators show the current input level of the two stereo channels "
|
"indicators show the current input level of the two stereo channels "
|
||||||
"of the current selected audio input. The upper level display belongs "
|
"of the current selected audio input. The upper level display belongs "
|
||||||
"to the left channel and the lower level display to the right channel "
|
"to the left channel and the lower level display to the right channel "
|
||||||
"of the audio input.<br/>"
|
"of the audio input.<br/>"
|
||||||
"Make sure not to clip the input signal to avoid distortions of the "
|
"Make sure not to clip the input signal to avoid distortions of the "
|
||||||
"audio signal." );
|
"audio signal." );
|
||||||
TextLabelInputLevelL->setWhatsThis ( strInpLevH );
|
QString strInpLevHAccText = "Input level meter";
|
||||||
TextLabelInputLevelR->setWhatsThis ( strInpLevH );
|
QString strInpLevHAccDescr = "Simulates an analog LED level meter.";
|
||||||
MultiColorLEDBarInputLevelL->setWhatsThis ( strInpLevH );
|
TextLabelInputLevelL->setWhatsThis ( strInpLevH );
|
||||||
MultiColorLEDBarInputLevelR->setWhatsThis ( strInpLevH );
|
TextLabelInputLevelR->setWhatsThis ( strInpLevH );
|
||||||
|
MultiColorLEDBarInputLevelL->setWhatsThis ( strInpLevH );
|
||||||
|
MultiColorLEDBarInputLevelL->setAccessibleName ( strInpLevHAccText );
|
||||||
|
MultiColorLEDBarInputLevelL->setAccessibleDescription ( strInpLevHAccDescr );
|
||||||
|
MultiColorLEDBarInputLevelR->setWhatsThis ( strInpLevH );
|
||||||
|
MultiColorLEDBarInputLevelR->setAccessibleName ( strInpLevHAccText );
|
||||||
|
MultiColorLEDBarInputLevelR->setAccessibleDescription ( strInpLevHAccDescr );
|
||||||
|
|
||||||
|
// connect/disconnect button
|
||||||
PushButtonConnect->setWhatsThis ( tr ( "<b>Connect / Disconnect Button:"
|
PushButtonConnect->setWhatsThis ( tr ( "<b>Connect / Disconnect Button:"
|
||||||
"</b> Push this button to connect the server. A valid IP address has "
|
"</b> Push this button to connect the server. A valid IP address has "
|
||||||
"to be specified before. If the client is connected, pressing this "
|
"to be specified before. If the client is connected, pressing this "
|
||||||
"button will disconnect the connection." ) );
|
"button will disconnect the connection." ) );
|
||||||
|
PushButtonConnect->setAccessibleName ( "Connect and disconnect toggle button" );
|
||||||
|
PushButtonConnect->setAccessibleDescription ( "Clicking on this button "
|
||||||
|
"changes the caption of the button from Connect to Disconnect, i.e., it "
|
||||||
|
"implements a toggle functionality for connecting and disconnecting "
|
||||||
|
"the llcon software." );
|
||||||
|
|
||||||
|
// status bar
|
||||||
TextLabelStatus->setWhatsThis ( tr ( "<b>Status Bar:</b> In the status bar "
|
TextLabelStatus->setWhatsThis ( tr ( "<b>Status Bar:</b> In the status bar "
|
||||||
"different messages are displayed. E.g., if an error occurred or the "
|
"different messages are displayed. E.g., if an error occurred or the "
|
||||||
"status of the connection is shown." ) );
|
"status of the connection is shown." ) );
|
||||||
|
TextLabelStatus->setAccessibleName ( "Status bar" );
|
||||||
|
|
||||||
|
// server address
|
||||||
QString strServAddrH = tr ( "<b>Server Address:</b> The IP address or URL "
|
QString strServAddrH = tr ( "<b>Server Address:</b> The IP address or URL "
|
||||||
"of the server running the llcon server software must be set here. "
|
"of the server running the llcon server software must be set here. "
|
||||||
"A list of the most recent used server URLs is available for "
|
"A list of the most recent used server URLs is available for "
|
||||||
"selection. If an invalid address was chosen, an error message is "
|
"selection. If an invalid address was chosen, an error message is "
|
||||||
"shown in the status bar." );
|
"shown in the status bar." );
|
||||||
TextLabelServerAddr->setWhatsThis ( strServAddrH );
|
TextLabelServerAddr->setWhatsThis ( strServAddrH );
|
||||||
LineEditServerAddr->setWhatsThis ( strServAddrH );
|
LineEditServerAddr->setWhatsThis ( strServAddrH );
|
||||||
|
LineEditServerAddr->setAccessibleName ( "Server address input" );
|
||||||
|
LineEditServerAddr->setAccessibleDescription ( "Holds the current server "
|
||||||
|
"URL. It also stores old URLs in the combo box list." );
|
||||||
|
|
||||||
|
// fader tag
|
||||||
QString strFaderTag = tr ( "<b>Fader Tag:</b> The fader tag of the local "
|
QString strFaderTag = tr ( "<b>Fader Tag:</b> The fader tag of the local "
|
||||||
"client is set in the fader tag edit box. This tag will appear "
|
"client is set in the fader tag edit box. This tag will appear "
|
||||||
"at your fader on the mixer board when you are connected to a llcon "
|
"at your fader on the mixer board when you are connected to a llcon "
|
||||||
"server. This tag will also show up at each client which is connected "
|
"server. This tag will also show up at each client which is connected "
|
||||||
"to the same server as the local client. If the fader tag is empty, "
|
"to the same server as the local client. If the fader tag is empty, "
|
||||||
"the IP address of the client is displayed instead.");
|
"the IP address of the client is displayed instead.");
|
||||||
TextLabelServerTag->setWhatsThis ( strFaderTag );
|
TextLabelServerTag->setWhatsThis ( strFaderTag );
|
||||||
LineEditFaderTag->setWhatsThis ( strFaderTag );
|
LineEditFaderTag->setWhatsThis ( strFaderTag );
|
||||||
|
LineEditFaderTag->setAccessibleName ( "Fader tag edit box" );
|
||||||
|
|
||||||
|
// local audio input fader
|
||||||
QString strAudFader = tr ( "<b>Local Audio Input Fader:</b> With the "
|
QString strAudFader = tr ( "<b>Local Audio Input Fader:</b> With the "
|
||||||
"audio fader, the relative levels of the left and right local audio "
|
"audio fader, the relative levels of the left and right local audio "
|
||||||
"channels can be changed. It acts like a panning between the two "
|
"channels can be changed. It acts like a panning between the two "
|
||||||
|
@ -96,9 +118,11 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"which is much louder than the microphone, move the audio fader in "
|
"which is much louder than the microphone, move the audio fader in "
|
||||||
"a direction where the label above the fader shows <i>L -x</i>, where "
|
"a direction where the label above the fader shows <i>L -x</i>, where "
|
||||||
"<i>x</i> is the current attenuation indication. " );
|
"<i>x</i> is the current attenuation indication. " );
|
||||||
TextAudInFader->setWhatsThis ( strAudFader );
|
TextAudInFader->setWhatsThis ( strAudFader );
|
||||||
SliderAudInFader->setWhatsThis ( strAudFader );
|
SliderAudInFader->setWhatsThis ( strAudFader );
|
||||||
|
SliderAudInFader->setAccessibleName ( "Local audio input fader (left/right)" );
|
||||||
|
|
||||||
|
// reverberation level
|
||||||
QString strAudReverb = tr ( "<b>Reverberation Level:</b> A reverberation "
|
QString strAudReverb = tr ( "<b>Reverberation Level:</b> A reverberation "
|
||||||
"effect can be applied to one local audio channel. The channel "
|
"effect can be applied to one local audio channel. The channel "
|
||||||
"selection and the reverberation level can be modified. If, e.g., "
|
"selection and the reverberation level can be modified. If, e.g., "
|
||||||
|
@ -110,16 +134,21 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"only be used on fast PCs. If the reverberation level fader is set to "
|
"only be used on fast PCs. If the reverberation level fader is set to "
|
||||||
"minimum (which is the default setting), the reverberation effect is "
|
"minimum (which is the default setting), the reverberation effect is "
|
||||||
"switched off and does not cause any additional CPU usage." );
|
"switched off and does not cause any additional CPU usage." );
|
||||||
TextLabelAudReverb->setWhatsThis ( strAudReverb );
|
TextLabelAudReverb->setWhatsThis ( strAudReverb );
|
||||||
SliderAudReverb->setWhatsThis ( strAudReverb );
|
SliderAudReverb->setWhatsThis ( strAudReverb );
|
||||||
|
SliderAudReverb->setAccessibleName ( "Reverberation effect level setting" );
|
||||||
|
|
||||||
|
// reverberation channel selection
|
||||||
QString strRevChanSel = tr ( "<b>Reverberation Channel Selection:</b> "
|
QString strRevChanSel = tr ( "<b>Reverberation Channel Selection:</b> "
|
||||||
"With these radio buttons the audio input channel on which the "
|
"With these radio buttons the audio input channel on which the "
|
||||||
"reverberation effect is applied can be chosen. Either the left "
|
"reverberation effect is applied can be chosen. Either the left "
|
||||||
"or right input channel can be selected." );
|
"or right input channel can be selected." );
|
||||||
RadioButtonRevSelL->setWhatsThis ( strRevChanSel );
|
RadioButtonRevSelL->setWhatsThis ( strRevChanSel );
|
||||||
RadioButtonRevSelR->setWhatsThis ( strRevChanSel );
|
RadioButtonRevSelL->setAccessibleName ( "Left channel selection for reverberation" );
|
||||||
|
RadioButtonRevSelR->setWhatsThis ( strRevChanSel );
|
||||||
|
RadioButtonRevSelR->setAccessibleName ( "Right channel selection for reverberation" );
|
||||||
|
|
||||||
|
// overall status
|
||||||
LEDOverallStatus->setWhatsThis ( tr ( "<b>Overall Status:</b> "
|
LEDOverallStatus->setWhatsThis ( tr ( "<b>Overall Status:</b> "
|
||||||
"The light next to the status bar shows the current audio/streaming "
|
"The light next to the status bar shows the current audio/streaming "
|
||||||
"status. If the light is green, there are no buffer overruns/underruns "
|
"status. If the light is green, there are no buffer overruns/underruns "
|
||||||
|
@ -134,6 +163,8 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"available internet bandwidth.</li>"
|
"available internet bandwidth.</li>"
|
||||||
"<li>The CPU of the client or server is at 100%.</li>"
|
"<li>The CPU of the client or server is at 100%.</li>"
|
||||||
"</ul>" ) );
|
"</ul>" ) );
|
||||||
|
LEDOverallStatus->setAccessibleName ( "Overall status LED indicator" );
|
||||||
|
|
||||||
|
|
||||||
// init GUI design
|
// init GUI design
|
||||||
SetGUIDesign ( pClient->GetGUIDesign() );
|
SetGUIDesign ( pClient->GetGUIDesign() );
|
||||||
|
@ -219,7 +250,8 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
|
|
||||||
// Settings menu ----------------------------------------------------------
|
// Settings menu ----------------------------------------------------------
|
||||||
pSettingsMenu = new QMenu ( "&View", this );
|
pSettingsMenu = new QMenu ( "&View", this );
|
||||||
pSettingsMenu->addAction ( tr ( "&Chat..." ), this,
|
pSettingsMenu->setAccessibleName ( "View menu" );
|
||||||
|
QAction* test = pSettingsMenu->addAction ( tr ( "&Chat..." ), this,
|
||||||
SLOT ( OnOpenChatDialog() ) );
|
SLOT ( OnOpenChatDialog() ) );
|
||||||
pSettingsMenu->addAction ( tr ( "&General Settings..." ), this,
|
pSettingsMenu->addAction ( tr ( "&General Settings..." ), this,
|
||||||
SLOT ( OnOpenGeneralSettings() ) );
|
SLOT ( OnOpenGeneralSettings() ) );
|
||||||
|
@ -231,6 +263,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
|
|
||||||
// Main menu bar -----------------------------------------------------------
|
// Main menu bar -----------------------------------------------------------
|
||||||
pMenu = new QMenuBar ( this );
|
pMenu = new QMenuBar ( this );
|
||||||
|
pMenu->setAccessibleName ( "Main menu" );
|
||||||
pMenu->addMenu ( pSettingsMenu );
|
pMenu->addMenu ( pSettingsMenu );
|
||||||
pMenu->addMenu ( new CLlconHelpMenu ( this ) );
|
pMenu->addMenu ( new CLlconHelpMenu ( this ) );
|
||||||
|
|
||||||
|
@ -272,7 +305,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
this, SLOT ( OnLineEditServerAddrTextChanged ( const QString ) ) );
|
this, SLOT ( OnLineEditServerAddrTextChanged ( const QString ) ) );
|
||||||
|
|
||||||
QObject::connect ( LineEditServerAddr, SIGNAL ( activated ( int ) ),
|
QObject::connect ( LineEditServerAddr, SIGNAL ( activated ( int ) ),
|
||||||
this, SLOT ( OnLineEditServerAddrActivated ( int ) ) );
|
this, SLOT ( OnLineEditServerAddrActivated ( int ) ) );
|
||||||
|
|
||||||
// other
|
// other
|
||||||
QObject::connect ( pClient,
|
QObject::connect ( pClient,
|
||||||
|
|
|
@ -500,12 +500,13 @@
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>LineEditFaderTag</tabstop>
|
<tabstop>LineEditServerAddr</tabstop>
|
||||||
<tabstop>PushButtonConnect</tabstop>
|
<tabstop>PushButtonConnect</tabstop>
|
||||||
|
<tabstop>LineEditFaderTag</tabstop>
|
||||||
|
<tabstop>SliderAudInFader</tabstop>
|
||||||
<tabstop>SliderAudReverb</tabstop>
|
<tabstop>SliderAudReverb</tabstop>
|
||||||
<tabstop>RadioButtonRevSelL</tabstop>
|
<tabstop>RadioButtonRevSelL</tabstop>
|
||||||
<tabstop>RadioButtonRevSelR</tabstop>
|
<tabstop>RadioButtonRevSelR</tabstop>
|
||||||
<tabstop>SliderAudInFader</tabstop>
|
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="resources.qrc" />
|
<include location="resources.qrc" />
|
||||||
|
|
|
@ -403,6 +403,8 @@ QString CAboutDlg::GetVersionAndNameStr ( const bool bWithHtml )
|
||||||
// Help menu -------------------------------------------------------------------
|
// Help menu -------------------------------------------------------------------
|
||||||
CLlconHelpMenu::CLlconHelpMenu ( QWidget* parent ) : QMenu ( "&?", parent )
|
CLlconHelpMenu::CLlconHelpMenu ( QWidget* parent ) : QMenu ( "&?", parent )
|
||||||
{
|
{
|
||||||
|
setAccessibleName ( "Help menu" );
|
||||||
|
|
||||||
// standard help menu consists of about and what's this help
|
// standard help menu consists of about and what's this help
|
||||||
addAction ( tr ( "What's &This" ), this,
|
addAction ( tr ( "What's &This" ), this,
|
||||||
SLOT ( OnHelpWhatsThis() ), QKeySequence ( Qt::SHIFT + Qt::Key_F1 ) );
|
SLOT ( OnHelpWhatsThis() ), QKeySequence ( Qt::SHIFT + Qt::Key_F1 ) );
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
!define APP_EXE "llcon.exe"
|
!define APP_EXE "llcon.exe"
|
||||||
!define UNINSTALL_EXE "Uninstall.exe"
|
!define UNINSTALL_EXE "Uninstall.exe"
|
||||||
!define INSTALLER_NAME "llconinstaller.exe"
|
!define INSTALLER_NAME "llconinstaller.exe"
|
||||||
!define VS_REDIST_PATH "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\"
|
;!define VS_REDIST_PATH "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\"
|
||||||
|
!define VS_REDIST_PATH "C:\Programme\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\"
|
||||||
!define VS_REDIST_EXE "vcredist_x86.exe"
|
!define VS_REDIST_EXE "vcredist_x86.exe"
|
||||||
!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"
|
!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue