mirror of
https://github.com/mumble-voip/mumble.git
synced 2025-10-26 11:19:16 +00:00
Accessibility: Added accessibility text to dialogs
Qt5 provides different ways of improving the accessibility of the application. One of these are accessibility names. This basically assigns a given UI element a name that can be used by e.g. a screen reader. This commit adds lots of these names to almost all dialogs.
This commit is contained in:
parent
1d7fbd9365
commit
c73f967711
@ -33,6 +33,22 @@ ACLEditor::ACLEditor(int channelparentid, QWidget *p) : QDialog(p) {
|
||||
|
||||
setupUi(this);
|
||||
|
||||
qwChannel->setAccessibleName(tr("Properties"));
|
||||
rteChannelDescription->setAccessibleName(tr("Description"));
|
||||
qleChannelPassword->setAccessibleName(tr("Channel password"));
|
||||
qsbChannelPosition->setAccessibleName(tr("Position"));
|
||||
qsbChannelMaxUsers->setAccessibleName(tr("Maximum users"));
|
||||
qleChannelName->setAccessibleName(tr("Channel name"));
|
||||
qcbGroupList->setAccessibleName(tr("List of groups"));
|
||||
qlwGroupAdd->setAccessibleName(tr("Inherited group members"));
|
||||
qlwGroupRemove->setAccessibleName(tr("Foreign group members"));
|
||||
qlwGroupInherit->setAccessibleName(tr("Inherited channel members"));
|
||||
qcbGroupAdd->setAccessibleName(tr("Add members to group"));
|
||||
qcbGroupRemove->setAccessibleName(tr("Remove member from group"));
|
||||
qlwACLs->setAccessibleName(tr("List of ACL entries"));
|
||||
qcbACLGroup->setAccessibleName(tr("Group this entry applies to"));
|
||||
qcbACLUser->setAccessibleName(tr("User this entry applies to"));
|
||||
|
||||
qsbChannelPosition->setRange(INT_MIN, INT_MAX);
|
||||
|
||||
setWindowTitle(tr("Mumble - Add channel"));
|
||||
@ -77,6 +93,22 @@ ACLEditor::ACLEditor(int channelid, const MumbleProto::ACL &mea, QWidget *p) : Q
|
||||
|
||||
setupUi(this);
|
||||
|
||||
qwChannel->setAccessibleName(tr("Properties"));
|
||||
rteChannelDescription->setAccessibleName(tr("Description"));
|
||||
qleChannelPassword->setAccessibleName(tr("Channel password"));
|
||||
qsbChannelPosition->setAccessibleName(tr("Position"));
|
||||
qsbChannelMaxUsers->setAccessibleName(tr("Maximum users"));
|
||||
qleChannelName->setAccessibleName(tr("Channel name"));
|
||||
qcbGroupList->setAccessibleName(tr("List of groups"));
|
||||
qlwGroupAdd->setAccessibleName(tr("Inherited group members"));
|
||||
qlwGroupRemove->setAccessibleName(tr("Foreign group members"));
|
||||
qlwGroupInherit->setAccessibleName(tr("Inherited channel members"));
|
||||
qcbGroupAdd->setAccessibleName(tr("Add members to group"));
|
||||
qcbGroupRemove->setAccessibleName(tr("Remove member from group"));
|
||||
qlwACLs->setAccessibleName(tr("List of ACL entries"));
|
||||
qcbACLGroup->setAccessibleName(tr("Group this entry applies to"));
|
||||
qcbACLUser->setAccessibleName(tr("User this entry applies to"));
|
||||
|
||||
qcbChannelTemporary->hide();
|
||||
|
||||
iId = mea.channel_id();
|
||||
|
||||
@ -129,6 +129,10 @@ ASIOInput *ASIOInput::aiSelf;
|
||||
ASIOConfig::ASIOConfig(Settings &st) : ConfigWidget(st) {
|
||||
setupUi(this);
|
||||
|
||||
qcbDevice->setAccessibleName(tr("Device to use for microphone"));
|
||||
qlwMic->setAccessibleName(tr("List of microphones"));
|
||||
qlwSpeaker->setAccessibleName(tr("List of speakers"));
|
||||
|
||||
// List of devices known to misbehave or be totally useless
|
||||
QStringList blacklist;
|
||||
blacklist << QLatin1String("{a91eaba1-cf4c-11d3-b96a-00a0c9c7b61a}"); // ASIO DirectX
|
||||
|
||||
@ -24,14 +24,17 @@ AboutDialog::AboutDialog(QWidget *p) : QDialog(p) {
|
||||
QTextEdit *qteLicense = new QTextEdit(qtwTab);
|
||||
qteLicense->setReadOnly(true);
|
||||
qteLicense->setPlainText(License::license());
|
||||
qteLicense->setAccessibleName(tr("License agreement"));
|
||||
|
||||
QTextEdit *qteAuthors = new QTextEdit(qtwTab);
|
||||
qteAuthors->setReadOnly(true);
|
||||
qteAuthors->setPlainText(License::authors());
|
||||
qteAuthors->setAccessibleName(tr("Authors"));
|
||||
|
||||
QTextBrowser *qtb3rdPartyLicense = new QTextBrowser(qtwTab);
|
||||
qtb3rdPartyLicense->setReadOnly(true);
|
||||
qtb3rdPartyLicense->setOpenExternalLinks(true);
|
||||
qtb3rdPartyLicense->setAccessibleName(tr("Third-party license agreements"));
|
||||
|
||||
QList<LicenseInfo> thirdPartyLicenses = License::thirdPartyLicenses();
|
||||
foreach(LicenseInfo li, thirdPartyLicenses) {
|
||||
|
||||
@ -76,6 +76,25 @@ AudioInputDialog::AudioInputDialog(Settings &st) : ConfigWidget(st) {
|
||||
|
||||
setupUi(this);
|
||||
|
||||
qcbSystem->setAccessibleName(tr("Audio system"));
|
||||
qcbDevice->setAccessibleName(tr("Input device"));
|
||||
qcbEcho->setAccessibleName(tr("Echo cancellation mode"));
|
||||
qcbTransmit->setAccessibleName(tr("Transmission mode"));
|
||||
qsDoublePush->setAccessibleName(tr("PTT lock threshold"));
|
||||
qsPTTHold->setAccessibleName(tr("PTT hold threshold"));
|
||||
qsTransmitHold->setAccessibleName(tr("Silence below"));
|
||||
abSpeech->setAccessibleName(tr("Current speech detection chance"));
|
||||
qsTransmitMin->setAccessibleName(tr("Speech above"));
|
||||
qsTransmitMax->setAccessibleName(tr("Speech below"));
|
||||
qsFrames->setAccessibleName(tr("Audio per packet"));
|
||||
qsQuality->setAccessibleName(tr("Quality of compression (peak bandwidth)"));
|
||||
qsNoise->setAccessibleName(tr("Noise suppression"));
|
||||
qsAmp->setAccessibleName(tr("Maximum amplification"));
|
||||
qlePushClickPathOn->setAccessibleName(tr("Transmission started sound"));
|
||||
qlePushClickPathOff->setAccessibleName(tr("Transmission stopped sound"));
|
||||
qsbIdle->setAccessibleName(tr("Initiate idle action after (in minutes)"));
|
||||
qcbIdleAction->setAccessibleName(tr("Idle action"));
|
||||
|
||||
if (AudioInputRegistrar::qmNew) {
|
||||
QList<QString> keys = AudioInputRegistrar::qmNew->keys();
|
||||
foreach(QString key, keys) {
|
||||
@ -452,6 +471,20 @@ void AudioInputDialog::on_qcbIdleAction_currentIndexChanged(int v) {
|
||||
AudioOutputDialog::AudioOutputDialog(Settings &st) : ConfigWidget(st) {
|
||||
setupUi(this);
|
||||
|
||||
qcbSystem->setAccessibleName(tr("Output system"));
|
||||
qcbDevice->setAccessibleName(tr("Output device"));
|
||||
qsJitter->setAccessibleName(tr("Default jitter buffer"));
|
||||
qsVolume->setAccessibleName(tr("Volume of incoming speech"));
|
||||
qsDelay->setAccessibleName(tr("Output delay"));
|
||||
qsOtherVolume->setAccessibleName(tr("Attenuation of other applications during speech"));
|
||||
qsMinDistance->setAccessibleName(tr("Minimum distance"));
|
||||
qsMaxDistance->setAccessibleName(tr("Maximum distance"));
|
||||
qsMaxDistVolume->setAccessibleName(tr("Minimum volume"));
|
||||
qsBloom->setAccessibleName(tr("Bloom"));
|
||||
qsPacketDelay->setAccessibleName(tr("Delay variance"));
|
||||
qsPacketLoss->setAccessibleName(tr("Packet loss"));
|
||||
qcbLoopback->setAccessibleName(tr("Loopback"));
|
||||
|
||||
if (AudioOutputRegistrar::qmNew) {
|
||||
QList<QString> keys = AudioOutputRegistrar::qmNew->keys();
|
||||
foreach(QString key, keys) {
|
||||
|
||||
@ -279,6 +279,11 @@ AudioStats::AudioStats(QWidget *p) : QDialog(p) {
|
||||
qtTick->start(50);
|
||||
|
||||
setupUi(this);
|
||||
|
||||
abSpeech->setAccessibleName(tr("Current speech detection chance"));
|
||||
anwNoise->setAccessibleName(tr("Power spectrum of input signal and noise estimate"));
|
||||
aewEcho->setAccessibleName(tr("Weights of the echo canceller"));
|
||||
|
||||
AudioInputPtr ai = g.ai;
|
||||
|
||||
if (ai && ai->sesEcho) {
|
||||
|
||||
@ -43,6 +43,15 @@ AudioWizard::AudioWizard(QWidget *p) : QWizard(p) {
|
||||
|
||||
setupUi(this);
|
||||
|
||||
qcbInput->setAccessibleName(tr("Input system"));
|
||||
qcbInputDevice->setAccessibleName(tr("Input device"));
|
||||
qcbOutput->setAccessibleName(tr("Output system"));
|
||||
qcbOutputDevice->setAccessibleName(tr("Output device"));
|
||||
qsOutputDelay->setAccessibleName(tr("Output delay"));
|
||||
qsMaxAmp->setAccessibleName(tr("Maximum amplification"));
|
||||
skwPTT->setAccessibleName(tr("PTT key"));
|
||||
qsVAD->setAccessibleName(tr("VAD level"));
|
||||
|
||||
// Done
|
||||
qcbUsage->setChecked(g.s.bUsage);
|
||||
|
||||
|
||||
@ -15,6 +15,17 @@
|
||||
BanEditor::BanEditor(const MumbleProto::BanList &msg, QWidget *p) : QDialog(p)
|
||||
, maskDefaultValue(32) {
|
||||
setupUi(this);
|
||||
|
||||
qleSearch->setAccessibleName(tr("Search"));
|
||||
qleUser->setAccessibleName(tr("User"));
|
||||
qleIP->setAccessibleName(tr("IP Address"));
|
||||
qsbMask->setAccessibleName(tr("Mask"));
|
||||
qleReason->setAccessibleName(tr("Reason"));
|
||||
qdteStart->setAccessibleName(tr("Start date/time"));
|
||||
qdteEnd->setAccessibleName(tr("End date/time"));
|
||||
qleHash->setAccessibleName(tr("Certificate hash"));
|
||||
qlwBans->setAccessibleName(tr("Banned users"));
|
||||
|
||||
qlwBans->setFocus();
|
||||
|
||||
qlBans.clear();
|
||||
|
||||
@ -119,6 +119,17 @@ void CertView::setCert(const QList<QSslCertificate> &cert) {
|
||||
CertWizard::CertWizard(QWidget *p) : QWizard(p) {
|
||||
setupUi(this);
|
||||
|
||||
cvWelcome->setAccessibleName(tr("Current certificate"));
|
||||
qleImportFile->setAccessibleName(tr("Certificate file to import"));
|
||||
qlePassword->setAccessibleName(tr("Certificate password"));
|
||||
cvImport->setAccessibleName(tr("Certificate to import"));
|
||||
cvCurrent->setAccessibleName(tr("Current certificate"));
|
||||
cvNew->setAccessibleName(tr("New certificate"));
|
||||
qleExportFile->setAccessibleName(tr("File to export certificate to"));
|
||||
cvExport->setAccessibleName(tr("Current certificate"));
|
||||
qleEmail->setAccessibleName(tr("Email address"));
|
||||
qleName->setAccessibleName(tr("Your name"));
|
||||
|
||||
setOption(QWizard::NoCancelButton, false);
|
||||
|
||||
qwpExport->setCommitPage(true);
|
||||
|
||||
@ -23,6 +23,8 @@ QHash<QString, ConfigWidget *> ConfigDialog::s_existingWidgets;
|
||||
ConfigDialog::ConfigDialog(QWidget *p) : QDialog(p) {
|
||||
setupUi(this);
|
||||
|
||||
qlwIcons->setAccessibleName(tr("Configuration categories"));
|
||||
|
||||
{
|
||||
QMutexLocker lock(&s_existingWidgetsMutex);
|
||||
s_existingWidgets.clear();
|
||||
|
||||
@ -958,6 +958,7 @@ void ConnectDialogEdit::on_qcbShowPassword_toggled(bool checked) {
|
||||
|
||||
ConnectDialog::ConnectDialog(QWidget *p, bool autoconnect) : QDialog(p), bAutoConnect(autoconnect) {
|
||||
setupUi(this);
|
||||
qtwServers->setAccessibleName(tr("Server list"));
|
||||
#ifdef Q_OS_MAC
|
||||
setWindowModality(Qt::WindowModal);
|
||||
#endif
|
||||
|
||||
@ -194,6 +194,7 @@ ShortcutTargetDialog::ShortcutTargetDialog(const ShortcutTarget &st, QWidget *pw
|
||||
stTarget = st;
|
||||
setupUi(this);
|
||||
|
||||
|
||||
// Load current shortcut configuration
|
||||
qcbForceCenter->setChecked(st.bForceCenter);
|
||||
qgbModifiers->setVisible(true);
|
||||
@ -548,6 +549,7 @@ QString ShortcutDelegate::displayText(const QVariant &item, const QLocale &loc)
|
||||
|
||||
GlobalShortcutConfig::GlobalShortcutConfig(Settings &st) : ConfigWidget(st) {
|
||||
setupUi(this);
|
||||
qtwShortcuts->setAccessibleName(tr("Configured shortcuts"));
|
||||
installEventFilter(this);
|
||||
|
||||
bool canSuppress = GlobalShortcutEngine::engine->canSuppress();
|
||||
|
||||
@ -82,7 +82,10 @@ static LCDDeviceManager devmgr;
|
||||
|
||||
LCDConfig::LCDConfig(Settings &st) : ConfigWidget(st) {
|
||||
setupUi(this);
|
||||
|
||||
qtwDevices->setAccessibleName(tr("Devices"));
|
||||
qsMinColWidth->setAccessibleName(tr("Minimum column width"));
|
||||
qsSplitterWidth->setAccessibleName(tr("Splitter width"));
|
||||
|
||||
QTreeWidgetItem *qtwi;
|
||||
foreach(LCDDevice *d, devmgr.qlDevices) {
|
||||
qtwi = new QTreeWidgetItem(qtwDevices);
|
||||
|
||||
@ -39,7 +39,12 @@ static ConfigRegistrar registrar(4000, LogConfigDialogNew);
|
||||
|
||||
LogConfig::LogConfig(Settings &st) : ConfigWidget(st) {
|
||||
setupUi(this);
|
||||
|
||||
qtwMessages->setAccessibleName(tr("Log messages"));
|
||||
qsVolume->setAccessibleName(tr("TTS engine volume"));
|
||||
qsbThreshold->setAccessibleName(tr("Length threshold"));
|
||||
qsbMaxBlocks->setAccessibleName(tr("Maximum chat length"));
|
||||
qsbChatMessageMargins->setAccessibleName(tr("Chat message marjins"));
|
||||
|
||||
#ifdef USE_NO_TTS
|
||||
qgbTTS->setDisabled(true);
|
||||
#endif
|
||||
|
||||
@ -27,7 +27,21 @@ static ConfigRegistrar registrar(1100, LookConfigNew);
|
||||
|
||||
LookConfig::LookConfig(Settings &st) : ConfigWidget(st) {
|
||||
setupUi(this);
|
||||
|
||||
qsbSilentUserLifetime->setAccessibleName(tr("Silent userlifetime"));
|
||||
qsbPrefixCharCount->setAccessibleName(tr("Prefix character count"));
|
||||
qsbChannelHierarchyDepth->setAccessibleName(tr("Channel hierarchy depth"));
|
||||
qleChannelSeparator->setAccessibleName(tr("Channel separator"));
|
||||
qsbPostfixCharCount->setAccessibleName(tr("Postfix character count"));
|
||||
qleAbbreviationReplacement->setAccessibleName(tr("Abbreviation replacement"));
|
||||
qsbMaxNameLength->setAccessibleName(tr("Maximum name length"));
|
||||
qsbRelFontSize->setAccessibleName(tr("Relative font size"));
|
||||
qcbLanguage->setAccessibleName(tr("Language"));
|
||||
qcbTheme->setAccessibleName(tr("Theme"));
|
||||
qcbAlwaysOnTop->setAccessibleName(tr("Always on top"));
|
||||
qcbChannelDrag->setAccessibleName(tr("Channel dragging"));
|
||||
qcbExpand->setAccessibleName(tr("Automatically expand channels when"));
|
||||
qcbUserDrag->setAccessibleName(tr("User dragging behavior"));
|
||||
|
||||
#ifndef Q_OS_MAC
|
||||
if (! QSystemTrayIcon::isSystemTrayAvailable())
|
||||
#endif
|
||||
|
||||
@ -160,7 +160,9 @@ MainWindow::MainWindow(QWidget *p) : QMainWindow(p) {
|
||||
createActions();
|
||||
setupUi(this);
|
||||
setupGui();
|
||||
|
||||
qtvUsers->setAccessibleName(tr("Channels and users"));
|
||||
qteLog->setAccessibleName(tr("Activity log"));
|
||||
qteChat->setAccessibleName(tr("Chat message"));
|
||||
connect(qmUser, SIGNAL(aboutToShow()), this, SLOT(qmUser_aboutToShow()));
|
||||
connect(qmChannel, SIGNAL(aboutToShow()), this, SLOT(qmChannel_aboutToShow()));
|
||||
connect(qmListener, SIGNAL(aboutToShow()), this, SLOT(qmListener_aboutToShow()));
|
||||
|
||||
@ -26,6 +26,12 @@ static ConfigRegistrar registrar(1300, NetworkConfigNew);
|
||||
|
||||
NetworkConfig::NetworkConfig(Settings &st) : ConfigWidget(st) {
|
||||
setupUi(this);
|
||||
qcbType->setAccessibleName(tr("Type"));
|
||||
qleHostname->setAccessibleName(tr("Hostname"));
|
||||
qlePort->setAccessibleName(tr("Port"));
|
||||
qleUsername->setAccessibleName(tr("Username"));
|
||||
qlePassword->setAccessibleName(tr("Password"));
|
||||
|
||||
}
|
||||
|
||||
QString NetworkConfig::title() const {
|
||||
|
||||
@ -27,7 +27,7 @@ OverlayEditor::OverlayEditor(QWidget *p, QGraphicsItem *qgi, OverlaySettings *os
|
||||
qgiPromote(qgi),
|
||||
oes(g.s.os) {
|
||||
setupUi(this);
|
||||
|
||||
qsZoom->setAccessibleName(tr("Zoom level"));
|
||||
os = osptr ? osptr : &g.s.os;
|
||||
|
||||
connect(qdbbBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply()));
|
||||
|
||||
@ -74,7 +74,7 @@ struct PluginFetchMeta {
|
||||
|
||||
PluginConfig::PluginConfig(Settings &st) : ConfigWidget(st) {
|
||||
setupUi(this);
|
||||
|
||||
qtwPlugins->setAccessibleName(tr("Plugins"));
|
||||
qtwPlugins->header()->setSectionResizeMode(0, QHeaderView::Stretch);
|
||||
qtwPlugins->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
|
||||
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
|
||||
TextMessage::TextMessage(QWidget *p, QString title, bool bChannel) : QDialog(p) {
|
||||
setupUi(this);
|
||||
rteMessage->setAccessibleName(tr("Message"));
|
||||
if (!bChannel)
|
||||
qcbTreeMessage->setHidden(true);
|
||||
setWindowTitle(title);
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
|
||||
Tokens::Tokens(QWidget *p) : QDialog(p) {
|
||||
setupUi(this);
|
||||
qlwTokens->setAccessibleName(tr("Tokens"));
|
||||
|
||||
qbaDigest = g.sh->qbaDigest;
|
||||
QStringList tokens = g.db->getTokens(qbaDigest);
|
||||
|
||||
@ -22,6 +22,10 @@ UserEdit::UserEdit(const MumbleProto::UserList &userList, QWidget *p)
|
||||
, m_filter(new UserListFilterProxyModel(this)) {
|
||||
|
||||
setupUi(this);
|
||||
qlSearch->setAccessibleName(tr("Search"));
|
||||
qcbInactive->setAccessibleName(tr("Inactive for"));
|
||||
qsbInactive->setAccessibleName(tr("Inactive for"));
|
||||
qtvUserList->setAccessibleName(tr("User list"));
|
||||
|
||||
const int userCount = userList.users_size();
|
||||
setWindowTitle(tr("Registered users: %n account(s)", "", userCount));
|
||||
|
||||
@ -52,6 +52,8 @@ UserLocalVolumeDialog::UserLocalVolumeDialog(unsigned int sessionId,
|
||||
, m_clientSession(sessionId)
|
||||
, m_qmUserVolTracker(qmUserVolTracker) {
|
||||
setupUi(this);
|
||||
qsUserLocalVolume->setAccessibleName(tr("User volume"));
|
||||
qsbUserLocalVolume->setAccessibleName(tr("User volume"));
|
||||
|
||||
ClientUser *user = ClientUser::get(sessionId);
|
||||
if (user) {
|
||||
|
||||
@ -20,6 +20,9 @@ VoiceRecorderDialog::VoiceRecorderDialog(QWidget *p) : QDialog(p), qtTimer(new Q
|
||||
qtTimer->setObjectName(QLatin1String("qtTimer"));
|
||||
qtTimer->setInterval(200);
|
||||
setupUi(this);
|
||||
qcbFormat->setAccessibleName(tr("Output format"));
|
||||
qleTargetDirectory->setAccessibleName(tr("Target directory"));
|
||||
qleFilename->setAccessibleName(tr("Filename"));
|
||||
|
||||
qleTargetDirectory->setText(g.s.qsRecordingPath);
|
||||
qleFilename->setText(g.s.qsRecordingFile);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user