QMS doesn't detect that two Geocaches are the same, when don't have exactly the same data

Issue #466 new
pingurus created an issue

This is due to the fact that the hashes of the GisItems are compared when copied and checked for duplicates. This makes sense for most items, for geocaches however not, since only exactly one geocache exists with a specific geocode.

So I would suggest to additionally check if the geocode exists in the project and then suggest to merge the data from the geocaches.

Is this feasible?

Comments (4)

  1. pingurus reporter

    I took a look at the code and would add an if clause for the case the item is a geocache in IGisProject::insertCopyOfItem(…) and add a IGisProject::getItemByGeocode() to the project.

    I think there would need to be a seperate copy dialog for the geocaches then with the options “keep old”, “replace” and “merge”.

  2. kiozen

    This is a very sensitive topic with a lot of chances to break stuff. Keep in mind that it’s not only IGisProject to be patched but also the CDBProject that performs synchronization with the database. And that’s quite another beast as the database does not provide access to the geocode.

    QMapShack was never designed to replace cache managers like OCM or GSAK. It’s more a tool to archive the tracks and stuff you create when searching for caches.

  3. pingurus reporter

    I see. Still I would like to have Geocaches and tracks in the same place.

    So what about changing the return value of the getKey() (or what it is called exactly) for Geocaches to their geocode? Then it would at least be detected, that you have the Geocaches twice (that's the main feature I’m interested in). Then the dialog could also stay the same.

    Or would this still be breaking?

  4. Log in to comment