From 470598a7233a9793d41537c636788bc1bcc2d539 Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Sun, 16 Aug 2026 23:22:58 +0100 Subject: [PATCH] fix(android): no User button on an entry without a username A note has no identifier - the button copied nothing at all. Co-Authored-By: Claude Opus 5 --- mainApk.pas | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/mainApk.pas b/mainApk.pas index f437bab..f03129b 100644 --- a/mainApk.pas +++ b/mainApk.pas @@ -1593,22 +1593,24 @@ begin // qu'a peindre. Ses enfants, eux, gardent leur propre HitTest. LCard.HitTest := False; - // Copier sans ouvrir l'entree - le geste le plus frequent. Les deux - // boutons sont poses a la coordonnee dans leur propre conteneur : deux - // controles alignes a droite laisseraient leur ordre au hasard. + // Copier sans ouvrir l'entree - le geste le plus frequent. Un Left et un + // Right, jamais deux fois le meme cote : leur ordre serait alors laisse + // au hasard. Ils prennent la hauteur du conteneur, ce qui evite de poser + // des coordonnees qui debordaient du bloc. LActions := TLayout.Create(LCard); LActions.Parent := LCard; LActions.Align := TAlignLayout.Right; LActions.Width := 150; LActions.Margins.Rect := RectF(0, 8, 8, 8); - // Un Left et un Right, jamais deux fois le meme cote : leur ordre serait - // alors laisse au hasard. Ils prennent la hauteur du conteneur, ce qui - // evite de poser des coordonnees qui debordaient du bloc. - LBtnUser := FlatButton(LActions, 'User', OnRowCopyUser); - LBtnUser.Align := TAlignLayout.Left; - LBtnUser.Width := 70; - LBtnUser.Tag := FFiltered[I]; + // Une note n'a pas d'identifiant : un bouton qui copierait du vide. + if E.Username <> '' then + begin + LBtnUser := FlatButton(LActions, 'User', OnRowCopyUser); + LBtnUser.Align := TAlignLayout.Left; + LBtnUser.Width := 70; + LBtnUser.Tag := FFiltered[I]; + end; LBtnPwd := FlatButton(LActions, 'Pass', OnRowCopyPwd); LBtnPwd.Align := TAlignLayout.Right;