GSoC/GCI Archive
Google Code-in 2013 KDE

Basic KML Tour modifications

completed by: Mikhail Ivchenko

mentors: Torsten Rahn, Dennis Nienhüser

Marble is a virtual globe and world atlas — your Swiss army knife for maps. Find your way and explore the world!

We are working on integrating support for KML Tours into Marble. The user interface will be a panel (like Routing, Map View, ...) where a tour can be loaded from a .kml file, edited, played and also recorded to a movie file. In this task you'll add a toolbar to the user interface with buttons for tour modifications: Inserting, deleting and changing the order of primitives.

  • Add a ToolBar to the top or the bottom of the TourWidget. Add several ToolButtons to it:
    • "Add FlyTo". Inserts a FlyTo item using the coordinates of the map center below the selected playlist item, or at the end of the playlist if none is selected
    • A separator
    • "Move up". When clicked, it swaps the currently selected playlist item with the playlist item above it. It should be disabled when no suitable playlist item is selected
    • "Move down". Like "Move up", but swaps with the one below.
    • A separator
    • "Delete". Removes the currently selected items. Should issue a confirmation dialog (just one, even for multiple selections)
  • Ideally the actions support multiple selections wherever it makes sense. E.g. for deleting, or for moving unless all are selected
  • You may have to extend GeoDataPlaylist for appropriate primitive actions
  • Modifications to the tour should be announced via a signal. Connect it to a slot that calls updateFeature() on the GeoDataTreeModel. Otherwise the view would crash at some point

Helpful links: