fix(android): the tap lands on the drawing, not on the button

Copying a password or a username opened the entry instead - about half the
time, which is the worst kind of failure to diagnose. Since those buttons
carry an icon, the tap target is the <svg> or one of its strokes, so reading
the attribute off the target returned null and the handler fell through to
"open". A finger landing sometimes on the glyph and sometimes on the margin
made it look random. Both handlers now resolve to the button first.

The new-entry form gets a folder, like the editor: an entry filed from the
start saves having to move it.

And a folder can now be created, not only chosen. Filing an entry under a
name is not enough - it is `folders` that fills the desktop's column, and a
name missing from it leaves the entry in a folder nothing displays, looking
lost. The two now go together, in one place, for both editing and creation.
'All' is never registered: it is the default, not a folder.
This commit is contained in:
r-zakarya
2026-08-21 22:11:14 +01:00
parent 0badc5fcfc
commit 1dba5d392f
3 changed files with 96 additions and 11 deletions
+7 -4
View File
@@ -274,7 +274,8 @@ type
procedure SaveEntryField(const AField, ANewValue: string);
/// Ajoute une entree au coffre. Le mot de passe voyage par le pont,
/// comme 'setfield' - meme regle, meme journalisation muette.
procedure CreateEntry(const ATitle, ASite, AUser, APwd, AKind: string);
procedure CreateEntry(const ATitle, ASite, AUser, APwd, AKind,
AFolder: string);
/// Supprime l'entree ouverte, pierre tombale comprise. Sans retour.
procedure DeleteCurrentEntry;
/// Fond le coffre ne ici dans le depot, puis passe l'autorite au depot.
@@ -1192,7 +1193,8 @@ begin
end);
end;
procedure TForm8.CreateEntry(const ATitle, ASite, AUser, APwd, AKind: string);
procedure TForm8.CreateEntry(const ATitle, ASite, AUser, APwd, AKind,
AFolder: string);
begin
// Une entree sans rien pour la reconnaitre serait une ligne muette dans la
// liste, et rien ne permettrait de la retrouver pour la corriger.
@@ -1204,7 +1206,7 @@ begin
CommitChange('Added: ' + ATitle, 'new entry from phone', '',
function (APlain: string): string
begin
Result := AddEntry(APlain, ATitle, ASite, AUser, APwd, AKind);
Result := AddEntry(APlain, ATitle, ASite, AUser, APwd, AKind, AFolder);
end);
end;
@@ -1351,7 +1353,8 @@ begin
TNetEncoding.URL.Decode(Param('s')),
TNetEncoding.URL.Decode(Param('u')),
TNetEncoding.URL.Decode(Param('p')),
TNetEncoding.URL.Decode(Param('k')))
TNetEncoding.URL.Decode(Param('k')),
TNetEncoding.URL.Decode(Param('d')))
else if LAction = 'delentry' then
DeleteCurrentEntry