Accessibility: add labeling for group call panel buttons

This commit is contained in:
mukthar777
2026-02-05 23:03:02 +05:30
committed by John Preston
parent d5634d5aa4
commit 91fb6d405d
2 changed files with 20 additions and 3 deletions
+1
View File
@@ -7603,4 +7603,5 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_sr_playback_order" = "Playback order";
"lng_sr_player_close" = "Close media player";
"lng_sr_group_call_menu" = "Video chat menu";
// Keys finished
@@ -616,6 +616,7 @@ void Panel::initControls() {
}, lifetime());
_hangup->setClickedCallback([=] { endCall(); });
_hangup->setAccessibleName(tr::lng_group_call_leave(tr::now));
const auto scheduleDate = _call->scheduleDate();
if (scheduleDate) {
@@ -701,12 +702,14 @@ void Panel::refreshLeftButton() {
_settings.destroy();
_callShare.create(widget(), st::groupCallShare);
_callShare->setClickedCallback(_callShareLinkCallback);
_callShare->setAccessibleName(tr::lng_group_call_invite(tr::now));
} else {
_callShare.destroy();
_settings.create(widget(), st::groupCallSettings);
_settings->setClickedCallback([=] {
uiShow()->showBox(Box(SettingsBox, _call));
});
_settings->setAccessibleName(tr::lng_group_call_settings_title(tr::now));
trackControls(_trackControls, true);
}
const auto raw = _callShare ? _callShare.data() : _settings.data();
@@ -754,6 +757,7 @@ void Panel::refreshVideoButtons(std::optional<bool> overrideWideMode) {
StickedTooltipHide::Activated);
_call->toggleVideo(!_call->isSharingCamera());
});
_video->setAccessibleName(tr::lng_call_start_video(tr::now));
_video->setColorOverrides(
toggleableOverrides(_call->isSharingCameraValue()));
_call->isSharingCameraValue(
@@ -764,6 +768,9 @@ void Panel::refreshVideoButtons(std::optional<bool> overrideWideMode) {
StickedTooltipHide::Activated);
}
_video->setProgress(sharing ? 1. : 0.);
_video->setAccessibleName(sharing
? tr::lng_call_stop_video(tr::now)
: tr::lng_call_start_video(tr::now));
}, _video->lifetime());
}
if (!_screenShare) {
@@ -772,17 +779,22 @@ void Panel::refreshVideoButtons(std::optional<bool> overrideWideMode) {
_screenShare->setClickedCallback([=] {
chooseShareScreenSource();
});
_screenShare->setAccessibleName(tr::lng_group_call_screen_share_start(tr::now));
_screenShare->setColorOverrides(
toggleableOverrides(_call->isSharingScreenValue()));
_call->isSharingScreenValue(
) | rpl::on_next([=](bool sharing) {
_screenShare->setProgress(sharing ? 1. : 0.);
_screenShare->setAccessibleName(sharing
? tr::lng_group_call_screen_share_stop(tr::now)
: tr::lng_group_call_screen_share_start(tr::now));
}, _screenShare->lifetime());
}
if (!_wideMenu) {
_wideMenu.create(widget(), st::groupCallMenuToggleSmall);
_wideMenu->show();
_wideMenu->setClickedCallback([=] { showMainMenu(); });
_wideMenu->setAccessibleName(tr::lng_sr_group_call_menu(tr::now));
_wideMenu->setColorOverrides(
toggleableOverrides(_wideMenuShown.value()));
}
@@ -799,6 +811,7 @@ void Panel::createMessageButton() {
&st::groupCallMessageActiveSmall);
_message->show();
_message->setClickedCallback([=] { toggleMessageTyping(); });
_message->setAccessibleName(tr::lng_group_call_message(tr::now));
_message->setColorOverrides(
toggleableOverrides(_messageTyping.value()));
}
@@ -880,8 +893,7 @@ void Panel::setupRealMuteButtonState(not_null<Data::GroupCall*> real) {
const auto wide = (mode == PanelMode::Wide);
using Type = Ui::CallMuteButtonType;
using ExpandType = Ui::CallMuteButtonExpandType;
_mute->setState(Ui::CallMuteButtonState{
.text = (wide
const auto text = (wide
? QString()
: scheduleDate
? (canManage
@@ -897,7 +909,10 @@ void Panel::setupRealMuteButtonState(not_null<Data::GroupCall*> real) {
? tr::lng_group_call_raised_hand(tr::now)
: mute == MuteState::Muted
? tr::lng_group_call_unmute(tr::now)
: tr::lng_group_call_you_are_live(tr::now)),
: tr::lng_group_call_you_are_live(tr::now));
_mute->outer()->setAccessibleName(text);
_mute->setState(Ui::CallMuteButtonState{
.text = text,
.tooltip = ((!scheduleDate && mute == MuteState::Muted)
? tr::lng_group_call_unmute_sub(tr::now)
: QString()),
@@ -1480,6 +1495,7 @@ void Panel::refreshTopButton() {
if (!_menuToggle) {
_menuToggle.create(widget(), st::groupCallMenuToggle);
_menuToggle->show();
_menuToggle->setAccessibleName(tr::lng_sr_group_call_menu(tr::now));
_menuToggle->setClickedCallback([=] { showMainMenu(); });
updateControlsGeometry();
raiseControls();