Finally I managed to sort out my past years' tracks...
Attached is a prototype of split/extend functionality for routes and tracks. It works from the Properties Dialog.
For splitting, the split point is selected as the row in the listing. The point-of-split becomes part of both new routes (shared) or tracks (cloned). Original route/track is deleted.
Extending is possible only when it is obvious, what should be joined with the current route
(current = visible in the Dialog). Eligible are all visible routepoints shared with, or lying nearby to the current
route's endpoint. If there is exactly 1 such point, then it is considered obvious, and the Extend button is enabled. If there are more, some should be hidden before proceeding, until just 1 remains.
Routes are extended _forward_, based on the geographic location (next routepoint must be very near, as when mouse-extending the route).
Tracks are extended _backward_, based on the timestamp sequence (a track is selected, which ends as the latest one before the start of current track - simple, isn't it?
). Tracks are extended as a single
segment if they share the extending point, otherwise a new, disjoint segment is added. Joining 2 tracks (i.e. extending a track) results in just 1 track remaining. Maybe the unambiguity of choice should be required also here...
Attached are 2 examples of joining a long route
after an unplanned stopover. One example shows exact sharing of extension point, in the other one - the current route ends (before extension) nearby the extension point.
Works for me... enjoy.