From 55c4ac959ddc6d9598821280079d335ab65004c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Mon, 19 Jun 2023 10:23:02 -0700 Subject: [PATCH 1/2] OutputPanel: include screen reader shortcut --- src/OutputPanel.vala | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/OutputPanel.vala b/src/OutputPanel.vala index 12ed171c..3c6d8d15 100644 --- a/src/OutputPanel.vala +++ b/src/OutputPanel.vala @@ -16,6 +16,23 @@ public class Sound.OutputPanel : Gtk.Box { private uint notify_timeout_id = 0; private unowned Canberra.Context? ca_context = null; private unowned PulseAudioManager pam; + private Settings media_keys_settings; + + private string _screenreader_shortcut_label = ""; + private string screenreader_shortcut_label { + get { + string?[] granite_accel_strings = null; + foreach (unowned var key in media_keys_settings.get_strv ("screenreader")) { + granite_accel_strings += Granite.accel_to_string (key); + } + + _screenreader_shortcut_label = _("Provide audio descriptions for items on the screen. %s").printf ( + string.joinv (_(", "), granite_accel_strings) + ); + + return _screenreader_shortcut_label; + } + } construct { var no_device_grid = new Granite.Widgets.AlertView ( @@ -97,7 +114,8 @@ public class Sound.OutputPanel : Gtk.Box { hexpand = true }; - var screen_reader_description_label = new Gtk.Label (_("Provide audio descriptions for items on the screen")) { + media_keys_settings = new Settings ("org.gnome.settings-daemon.plugins.media-keys"); + var screen_reader_description_label = new Gtk.Label (screenreader_shortcut_label) { wrap = true, xalign = 0 }; @@ -166,6 +184,10 @@ public class Sound.OutputPanel : Gtk.Box { pam.set_default_device.begin (((Sound.DeviceRow) row).device); }); + media_keys_settings.changed.connect (() => { + screen_reader_description_label.label = screenreader_shortcut_label; + }); + volume_scale.button_release_event.connect (e => { notify_change (); return false; From 3a9a27d689d946d6f8a01a3263f59143de4b5c6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Mon, 19 Jun 2023 11:57:46 -0700 Subject: [PATCH 2/2] Update src/OutputPanel.vala Co-authored-by: Leo --- src/OutputPanel.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OutputPanel.vala b/src/OutputPanel.vala index 3c6d8d15..b646ddb3 100644 --- a/src/OutputPanel.vala +++ b/src/OutputPanel.vala @@ -184,7 +184,7 @@ public class Sound.OutputPanel : Gtk.Box { pam.set_default_device.begin (((Sound.DeviceRow) row).device); }); - media_keys_settings.changed.connect (() => { + media_keys_settings.changed["screenreader"].connect (() => { screen_reader_description_label.label = screenreader_shortcut_label; });