No subject


Wed Apr 17 13:17:15 BST 2019


1. Add image already tagged Person/Alice
2. Close DigiKam.  Open another program and tag the image with Person/Bob
3. Close other program.  Open DigiKam.  Tag Person/Charles.  Write the
metadata.
DigiKam won't delete Person/Bob.  That's good!
4. Remove Person/Alice.  Write metadata.
DigiKam won't delete Person/Alice.  That's bad.

However, if I ever delete a tag in the DigiKam UI _and_ I have DigiKam set to
write metadata, I expect the tag to be deleted.  If I didn't want to write
metadata I would tell DigiKam not to write metadata at all.

I don't think DigiKam should prompt the user if they should write the metadata
to the file when they remove a tag (there are already many options for what
kind of metadata we should write to the file in the settings menu).

When DigiKam decides whether to write data in MetadataHub, we have in loadTags:

    // Those tags which had been set as MetadataAvailable before,
    // but are not contained in this set, have to be set to MetadataDisjoint

That means the change won't be written to the file.

What I think we need is a marker in the DigiKam DB that the tag was explicitly
removed.  So DigiKam would have a record that the tag does not exist because
the user removed it inside DigiKam.  Then we can avoid removing Person/Bob in
the example but know to remove Person/Alice.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Digikam-devel mailing list