First of all, thanks for the good job, I've been using Amule for Linux for years.
You're welcome.
It would add any file to "known.met" and change the color of the file, that way I don't have to re-download it if I've forgotten about it, or for the searches that have a lot of results, it would help to "manually" filter the results once and for all, making the new files easy to spot.
When installing a new distro, importing all the known files with "known.met" would be really easy, too.
Adding a file to "known.met" requires information that the search does not provide. There are two different classes: CSearchFile and CKnownFile. Both descend from CAbstractFile, but as you might guess, you cannot construct a CKnownFile from a CSearchFile. "known.met" provides the date, the hashset and other tags from the file, and IIRC, these informations are not available at the time of the search.
On the other hand, the file hash, name and size are available to both CSearchFile and CKnownFile, but we would be missing the file date and the hashes, because the file does not exist in our disk, and this information is obtained as soon as the transfer is complete.
So, I don't see that as an "easy task", because we just don't have the required information. If you could please give some more details of the implementation that you have in mind, I might be able to implement it. But please, base your argument on the real world, not on statements like "that should be easy!".
I can imagine the following solution: if we commit the incomplete information we have about the file on "known.met", that entry would be just enough to recognize the file by its hash. The only problem here is that we might be breaking the file "known.met", and to be sure of that this is valid, I would need more documentation on that file or some advice from eMule authors or someone with the necessary knowledge, like Kry, but unfortunately he has been very busy with real life issues.
Cheers!