PIV: Show Private Key: <none> when key is missing

This commit is contained in:
Dain Nilsson 2024-03-26 13:27:03 +01:00
parent 91397d264a
commit 5f2b9772cb
No known key found for this signature in database
GPG Key ID: F04367096FBA95E8
8 changed files with 20 additions and 4 deletions

View File

@ -55,6 +55,7 @@
"item": {}
}
},
"s_none": null,
"s_about": "Über",
"s_algorithm": null,

View File

@ -55,6 +55,7 @@
"item": {}
}
},
"s_none": "<none>",
"s_about": "About",
"s_algorithm": "Algorithm",

View File

@ -55,6 +55,7 @@
"item": {}
}
},
"s_none": null,
"s_about": "À propos",
"s_algorithm": "Algorithme",

View File

@ -55,6 +55,7 @@
"item": {}
}
},
"s_none": null,
"s_about": "情報",
"s_algorithm": "アルゴリズム",

View File

@ -55,6 +55,7 @@
"item": {}
}
},
"s_none": null,
"s_about": "O aplikacji",
"s_algorithm": "Algorytm",

View File

@ -90,8 +90,10 @@ class _InfoTable extends ConsumerWidget {
class CertInfoTable extends ConsumerWidget {
final CertInfo? certInfo;
final SlotMetadata? metadata;
final bool alwaysIncludePrivate;
const CertInfoTable(this.certInfo, this.metadata, {super.key});
const CertInfoTable(this.certInfo, this.metadata,
{super.key, this.alwaysIncludePrivate = false});
@override
Widget build(BuildContext context, WidgetRef ref) {
@ -107,6 +109,8 @@ class CertInfoTable extends ConsumerWidget {
metadata.keyType.getDisplayName(l10n),
keys.slotMetadataKeyType
),
if (metadata == null && alwaysIncludePrivate)
l10n.s_private_key: (l10n.s_none, keys.slotMetadataKeyType),
if (certInfo != null) ...{
l10n.s_public_key: (
certInfo.keyType?.getDisplayName(l10n) ?? l10n.s_unknown_type,

View File

@ -141,8 +141,11 @@ class _PivScreenState extends ConsumerState<PivScreen> {
const SizedBox(height: 16),
if (selected.certInfo != null ||
selected.metadata != null) ...[
CertInfoTable(selected.certInfo,
selected.metadata),
CertInfoTable(
selected.certInfo,
selected.metadata,
alwaysIncludePrivate: true,
),
const SizedBox(height: 16),
],
if (selected.certInfo == null)

View File

@ -87,7 +87,11 @@ class SlotDialog extends ConsumerWidget {
if (certInfo != null || metadata != null) ...[
Padding(
padding: const EdgeInsets.only(bottom: 16),
child: CertInfoTable(certInfo, metadata),
child: CertInfoTable(
certInfo,
metadata,
alwaysIncludePrivate: true,
),
),
],
if (certInfo == null) ...[