From f55b0c73f5ba2fd1fa0d9707a862c12e10c13bcd Mon Sep 17 00:00:00 2001 From: Dmitry Vedenko Date: Wed, 14 Jul 2021 22:15:20 +0300 Subject: [PATCH] Adds keyboard accessible Privacy Policy link to Preferences --- src/prefs/ApplicationPrefs.cpp | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/src/prefs/ApplicationPrefs.cpp b/src/prefs/ApplicationPrefs.cpp index 6143fa920..d048f3f4b 100644 --- a/src/prefs/ApplicationPrefs.cpp +++ b/src/prefs/ApplicationPrefs.cpp @@ -19,10 +19,13 @@ #include "update/UpdateManager.h" #include +#include #include "../Prefs.h" #include "../ShuttleGui.h" +#include "ui/AccessibleLinksFormatter.h" + //////////////////////////////////////////////////////////////////////////////// static ComponentInterfaceSymbol s_ComponentInterfaceSymbol{ XO("Application") }; @@ -68,12 +71,34 @@ void ApplicationPrefs::PopulateOrExchange(ShuttleGui & S) S.SetBorder(2); S.StartScroller(); - S.StartStatic(XO("Update Audacity")); + /* i18n-hint: Title for the update notifications panel in the preferences dialog. */ + S.StartStatic(XO("Update notifications")); { S.TieCheckBox( - XO("&Check for Updates...").Stripped(TranslatableString::Ellipses | TranslatableString::MenuCodes), - DefaultUpdatesCheckingFlag); + /* i18n-hint: Check-box title that configures periodic updates checking. */ + XXC("&Check for updates", "application preferences"), + DefaultUpdatesCheckingFlag); + + S.StartVerticalLay(); + { + S.AddFixedText(XO( + "App update checking requires network access. In order to protect your privacy, Audacity does not store any personal information."), + false, 470); + + /* i18n-hint: %s will be replaced with "our Privacy Policy" */ + AccessibleLinksFormatter privacyPolicy(XO("See %s for more info.")); + + privacyPolicy.FormatLink( + /* i18n-hint: Title of hyperlink to the privacy policy. This is an object of "See". */ + wxT("%s"), XO("our Privacy Policy"), + "https://www.audacityteam.org/about/desktop-privacy-notice/"); + + privacyPolicy.Populate(S); + } + + S.EndVerticalLay(); } + S.EndStatic(); S.EndScroller(); }