fix(contacts): audit fixes — clip, tofu badge, plural, DPI, columns, toolbar

Address the confirmed findings from a workflow audit of the Contacts tab body:

- Label clip: the Label column was WidthFixed 150px and clipped long labels
  mid-word ("drgx pool payout a…"). Make all three columns WidthStretch (label 1.5,
  address 2.6, notes 1.0) so the label grows with the tab and the notes column no
  longer reserves a fixed empty block on the right (notes = low weight, per request).
- Globe badge tofu: the global-contact ICON_MD_PUBLIC badge was drawn with the text
  font (no Material glyphs) → rendered as "?". Push Type().iconSmall() around it.
- Plural: "1 addresses saved" -> add address_book_count_one ("%zu address saved",
  8 langs, %zu kept so the format signature matches) and branch on count == 1.
- DPI: the SameLine badge gaps (6/8px) and the table-height floor (120px) are now
  * Layout::dpiScale(); the WidthStretch columns are relative so need no scaling.
- Toolbar: give the four actions leading Material icons (person-add / edit / delete /
  content-copy) and accent the primary "Add New" — via a small local icon+label
  tactile-button helper (ImGui has no two-font button), icons inherit the
  disabled-aware text alpha so they gray out with BeginDisabled().

Build + ctest + hygiene clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-14 20:49:15 -05:00
parent ba13875eaf
commit 1b0006a4af
10 changed files with 60 additions and 16 deletions

View File

@@ -30,6 +30,7 @@
"address_book_added": "Adresse zum Buch hinzugefügt",
"address_book_confirm_delete": "Löschen bestätigen?",
"address_book_count": "%zu Adressen gespeichert",
"address_book_count_one": "%zu Adresse gespeichert",
"address_book_deleted": "Eintrag gelöscht",
"address_book_edit": "Adresse bearbeiten",
"address_book_empty": "Keine gespeicherten Adressen. Klicken Sie auf 'Neue hinzufügen', um eine hinzuzufügen.",

View File

@@ -30,6 +30,7 @@
"address_book_added": "Dirección agregada a la libreta",
"address_book_confirm_delete": "¿Confirmar eliminación?",
"address_book_count": "%zu direcciones guardadas",
"address_book_count_one": "%zu dirección guardada",
"address_book_deleted": "Entrada eliminada",
"address_book_edit": "Editar Dirección",
"address_book_empty": "No hay direcciones guardadas. Haz clic en 'Agregar Nueva' para añadir una.",

View File

@@ -30,6 +30,7 @@
"address_book_added": "Adresse ajoutée au carnet",
"address_book_confirm_delete": "Confirmer la suppression ?",
"address_book_count": "%zu adresses enregistrées",
"address_book_count_one": "%zu adresse enregistrée",
"address_book_deleted": "Entrée supprimée",
"address_book_edit": "Modifier l'adresse",
"address_book_empty": "Aucune adresse enregistrée. Cliquez sur 'Ajouter' pour en créer une.",

View File

@@ -30,6 +30,7 @@
"address_book_added": "アドレスをアドレス帳に追加しました",
"address_book_confirm_delete": "削除しますか?",
"address_book_count": "%zu 件のアドレスを保存済み",
"address_book_count_one": "%zu 件のアドレスを保存",
"address_book_deleted": "エントリを削除しました",
"address_book_edit": "アドレスを編集",
"address_book_empty": "保存されたアドレスがありません。「新規追加」をクリックして追加してください。",

View File

@@ -30,6 +30,7 @@
"address_book_added": "주소록에 주소를 추가했습니다",
"address_book_confirm_delete": "삭제하시겠습니까?",
"address_book_count": "저장된 주소 %zu개",
"address_book_count_one": "주소 %zu개 저장됨",
"address_book_deleted": "항목이 삭제되었습니다",
"address_book_edit": "주소 편집",
"address_book_empty": "저장된 주소가 없습니다. '새로 추가'를 클릭하여 추가하세요.",

View File

@@ -30,6 +30,7 @@
"address_book_added": "Endereço adicionado ao livro",
"address_book_confirm_delete": "Confirmar exclusão?",
"address_book_count": "%zu endereços salvos",
"address_book_count_one": "%zu endereço salvo",
"address_book_deleted": "Entrada excluída",
"address_book_edit": "Editar Endereço",
"address_book_empty": "Nenhum endereço salvo. Clique em 'Adicionar Novo' para criar um.",

View File

@@ -30,6 +30,7 @@
"address_book_added": "Адрес добавлен в книгу",
"address_book_confirm_delete": "Подтвердить удаление?",
"address_book_count": "%zu адресов сохранено",
"address_book_count_one": "Сохранён %zu адрес",
"address_book_deleted": "Запись удалена",
"address_book_edit": "Редактировать адрес",
"address_book_empty": "Нет сохранённых адресов. Нажмите 'Добавить новый', чтобы создать.",

View File

@@ -30,6 +30,7 @@
"address_book_added": "地址已添加到通讯录",
"address_book_confirm_delete": "确认删除?",
"address_book_count": "已保存 %zu 个地址",
"address_book_count_one": "已保存 %zu 个地址",
"address_book_deleted": "条目已删除",
"address_book_edit": "编辑地址",
"address_book_empty": "没有保存的地址。点击'添加新地址'创建一个。",