viking-gps / viking

Viking is a free/open source program to manage GPS data (inc GPX, FIT, TCX and KML files). You can import and plot tracks, routes and waypoints, show OpenStreetMaps (OSM), Bing Aerial and other maps, generate Mapnik maps, geotag images, make new tracks, routes and waypoints, see real-time GPS position, etc. It is written mostly in C with GTK
http://sourceforge.net/projects/viking/
GNU General Public License v2.0
223 stars 55 forks source link

Feature request - drag-and-drop folder tree containing GPS files (into a specific layer) #296

Open mwerle opened 2 weeks ago

mwerle commented 2 weeks ago

I use OsmAnd as my primary motorcycle navigator, and it helpfully saves all my tracks by year and month.

However, this makes it very tedious to import into Viking - I have to drag-drop each folder's contents manually.

It would be nice to be able to drag-and-drop a folder, and have Viking load all the GPS files recursively from that folder.


Use case / user-story: I want to be able to import and view all of my tracks so that I can plan new routes through an area and avoid roads I've already travelled on.


Secondly, dragging-and-dropping GPS files only works on the main window, and all content simply ends up in the "Top Layer". It would be very nice to be able to drag-and-drop into a layer instead, and have all the contents added to that layer.

Bonus: Viking automatically creates a new layer for every folder/sub-folder that was dropped (merging into existing layers if one with the same name already exists).


Thank you for your hard work on this application!

rnorris commented 1 week ago

Regarding opening Folders: Yes that would be useful - either via DND and/or via dialog selection

Regarding into Layers: I was hoping that DND into a layer would be straight-forward, however reworking the DND from an external source into the Layers tree conflicts with the internals of the Layers own DND rearrangement of layers.

Notes for self. A longer post - https://ewx.dreamwidth.org/527931.html - examines some of the issues with the GTK Treeview API usage. ATM Viking uses the 'High Level' API, but would need to be expanded to use the 'Low Level' API with all the resultant extra work - so it won't be implemented in the immediate future, but at least there should be some decent examples to reuse / be inspired by.

I may take the liberty to split this into two feature requests.