cpesch / RouteConverter

The popular GPS conversion and editing tool
http://www.routeconverter.com
Other
144 stars 40 forks source link

Color for tracks #68

Closed ds10git closed 1 year ago

ds10git commented 2 years ago

I've seen in the Forum that there were several wishes to have different colors for tracks. Since I've also sometimes wanted that feature I've added that function to RouteConverter. The idea is to provide an easy to use button that doesn't add more complexity to the GUI so there is just a small colored button in front of the position list selection which simply can be ignored by most users. The color of the current selected RouteCharacteristics and index of the position list can be changed by clicking the button and is subsequently saved for this RouteCharacteristics and the index of the position list for future use. So once a user has set colors for an index that colors will be used again if a new position list is added. Finally the color selection in the option dialog should be removed because it would no longer be necessary.

But the code of the changes seems rather clunky to me, even though it works as expected. For KML files the selected colors are even saved but I wasn't able to build in the loading of KML colors since the source code is really complex for loading the XML files. Before I even try to provide a Pull request I would like to get your input, if the result is within the scope of RouteConverter. Here is a short video that shows how it works: http://download.tvbrowser.org/plugins/routeconverter-colors.mkv

ds10git commented 2 years ago

Well I guess it's pretty clear why I need more colors. It's to achieve this: http://download.tvbrowser.org/plugins/routeconverter-show-in-background

With all that changes it's now possible to show position lists in the background without it getting in the way of creating or changing another position list. I'm sure there are still plenty of bugs in there but as proof of concept it's that what I wanted.

cpesch commented 2 years ago

I‘m sorry but I cannot watch the video on my phone. Will come back to you after my holidays

ds10git commented 2 years ago

Thanks for your reply, I've already assumed that you are on vacation. In the meantime I've succeeded in getting it to work to load/save KML colors and the background painting of waypoints/routes/tracks is also working really well now.

ds10git commented 2 years ago

I've compiled a version with the color and background route changes, so you can test it directly with RouteConverter: http://download.tvbrowser.org/plugins/RouteConverterLinuxOpenSource.jar

cpesch commented 2 years ago

Shouldn't the "Show in Background" be placed closer to the combobox or be part of it to avoid confusion? Most users rarely use RouteConverter and might easily be confused if another track is still shown on the map.

ds10git commented 2 years ago

Well as I pointed out this is more a proof of concept as the completed solution. If you think the "Show in Background" should be placed closer to the combobox I could do that. I personally don't think users are that easily confused. A new user will rarely even use multiple position list in one file and the checkbox could even be disabled if only one position list exists in a file. Further a user will see the difference between the checkbox selected and not selected. If you would prefer I could also make the checkbox optional via a hidden preference, that way only expert users will even be able to use the function to show more than one track. Personally I don't think it needs to be hidden, when a user tries new software it will always be demanding to use it.

The change is of course catered to my needs since I often need to see POIs that are not connected to the route planned around it and as I had read in the Forum I'm not the only one who needs this function.

cpesch commented 2 years ago

The feature was requested several times in the past, but I didn't find a maintainable way to implement it. I performed several refactorings to make it easier, so I'm curious how you'd want to implement it?

ds10git commented 2 years ago

Did you try the test build I've linked?

The idea is to keep the layers with the waypoints/track/route and not remove it when the user selects another list from the drop down menu or creates a new waypoint list. The layers are saved in a map for later deleting, the layers are then deleted when the user selects the list with the layer that was previously put in background. So every time the user select a list it will be drawn new, like it currently is.

Currently I've no access to the device I've used to develop the test build, so at the moment I cannot show you the relevant parts of the source code. I've used this test build version for the last couple of weeks and it works really well most of the time but still has some issues with ghost waypoints/tracks under certain conditions.