Opened 13 years ago
Closed 8 years ago
#7665 closed enhancement (fixed)
merge conflation operations for multiple pairs into one undo-able action
Reported by: | Cobra | Owned by: | joshdoe |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin conflation | Version: | |
Keywords: | github | Cc: |
Description
At the moment each conflation operation is added as a single operation to the undo stack, even when conflating a lot of pairs at once.
All core operations add a single atomic operation to the undo stack when manipulating many objects, so this isn't consistent.
Attachments (0)
Change History (7)
comment:1 by , 13 years ago
follow-up: 3 comment:2 by , 13 years ago
Thanks for this plugin.
Sorry do not have much time for JOSM/OSM right now.
Think this feature would be really nice !
Is it not possible to add/remove all objects at once. Probably does not work directly with the "replace object command".
Cheers
comment:3 by , 13 years ago
Replying to skyper:
Is it not possible to add/remove all objects at once. Probably does not work directly with the "replace object command".
When objects only exist in the reference layer, conflating simply copies the objects to the subject layer, so multiple objects can be contained in one command, and that's what I do now. Replace Geometry on the other hand currently changes the entire relation member list, so these can't be simply queued up. Hopefully I'll get to some solution soon(ish).
comment:4 by , 12 years ago
Keywords: | github added |
---|
comment:5 by , 11 years ago
Resolution: | → othersoftware |
---|---|
Status: | new → closed |
Closing tickets for external Github-hosted plugins as "othersoftware". Bug report is done on Github, see https://github.com/joshdoe/josm-conflation-plugin/issues/8.
comment:6 by , 8 years ago
Resolution: | othersoftware |
---|---|
Status: | closed → reopened |
I'm reopening this issue, as the implementation is not activated in the code because of issues with relations (which I don't fully understand yet).
comment:7 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
This issue should be fixed now (checked ok in v0.5.0)
I've modified the the code so that the replace geometry commands be built during command execution, and not all up front as before. This allowed to group them back in a single SequenceCommand so with only one entry in the Undo list.
I initially did this, but ran into trouble with the #7616 example you gave. Since the nodes were part of relations, each command to transfer the relation would overwrite the previous one, so only the last match would have the proper relation membership, for all others it simply disappeared.
To bundle this all into one command, I have to break one of two conventions: execute separate commands upon creation of the master command, or prompt the user within the executeCommand() for resolving conflicts (if any). I think either way works for the end user, so I'll try one of them.