diff --git a/lib/fido/views/locked_page.dart b/lib/fido/views/locked_page.dart index e57f8fb10..c90a151d9 100755 --- a/lib/fido/views/locked_page.dart +++ b/lib/fido/views/locked_page.dart @@ -182,6 +182,7 @@ class _PinEntryFormState extends ConsumerState<_PinEntryForm> { _isObscure = !_isObscure; }); }, + tooltip: _isObscure ? l10n.s_show_pin : l10n.s_hide_pin, ), ), onChanged: (value) { diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index b6668f098..08bd17d1d 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -72,6 +72,8 @@ "s_configure_yk": "Configure YubiKey", "s_please_wait": "Please wait\u2026", "s_secret_key": "Secret key", + "s_show_secret_key": "Show secret key", + "s_hide_secret_key": "Hide secret key", "s_private_key": "Private key", "s_invalid_length": "Invalid length", "s_require_touch": "Require touch", @@ -182,6 +184,8 @@ "s_set_pin": "Set PIN", "s_change_pin": "Change PIN", "s_change_puk": "Change PUK", + "s_show_pin": "Show PIN", + "s_hide_pin": "Hide PIN", "s_current_pin": "Current PIN", "s_current_puk": "Current PUK", "s_new_pin": "New PIN", @@ -256,6 +260,8 @@ "s_manage_password": "Manage password", "s_set_password": "Set password", "s_password_set": "Password set", + "s_show_password": "Show password", + "s_hide_password": "Hide password", "l_optional_password_protection": "Optional password protection", "s_new_password": "New password", "s_current_password": "Current password", diff --git a/lib/oath/views/add_account_page.dart b/lib/oath/views/add_account_page.dart index 0bbf83859..cab5bf39e 100755 --- a/lib/oath/views/add_account_page.dart +++ b/lib/oath/views/add_account_page.dart @@ -438,6 +438,9 @@ class _OathAddAccountPageState extends ConsumerState { _isObscure = !_isObscure; }); }, + tooltip: _isObscure + ? l10n.s_show_secret_key + : l10n.s_hide_secret_key, ), border: const OutlineInputBorder(), prefixIcon: const Icon(Icons.key_outlined), diff --git a/lib/oath/views/unlock_form.dart b/lib/oath/views/unlock_form.dart index d4223053a..532b29824 100755 --- a/lib/oath/views/unlock_form.dart +++ b/lib/oath/views/unlock_form.dart @@ -94,6 +94,9 @@ class _UnlockFormState extends ConsumerState { _isObscure = !_isObscure; }); }, + tooltip: _isObscure + ? l10n.s_show_password + : l10n.s_hide_password, ), ), onChanged: (_) => setState(() { diff --git a/lib/piv/views/pin_dialog.dart b/lib/piv/views/pin_dialog.dart index 7f849e5f4..0199c05b9 100644 --- a/lib/piv/views/pin_dialog.dart +++ b/lib/piv/views/pin_dialog.dart @@ -110,6 +110,7 @@ class _PinDialogState extends ConsumerState { _isObscure = !_isObscure; }); }, + tooltip: _isObscure ? l10n.s_show_pin : l10n.s_hide_pin, ), ), textInputAction: TextInputAction.next, diff --git a/lib/widgets/responsive_dialog.dart b/lib/widgets/responsive_dialog.dart index dd500f15e..eed921bbe 100755 --- a/lib/widgets/responsive_dialog.dart +++ b/lib/widgets/responsive_dialog.dart @@ -54,6 +54,7 @@ class _ResponsiveDialogState extends State { title: widget.title, actions: widget.actions, leading: IconButton( + tooltip: AppLocalizations.of(context)!.s_close, icon: const Icon(Icons.close), onPressed: widget.allowCancel ? () {