Skip to content
  • Dennis Nienhüser's avatar
    Move MarbleAbstractRunner* from src/lib/runners/ to src/lib. Create a... · a71df0d7
    Dennis Nienhüser authored
    Move MarbleAbstractRunner* from src/lib/runners/ to src/lib. Create a RunnerPlugin class in src/lib, derived from PluginInterface, which adds a new MarbleAbstractRunner factory method. Add support for RunnerPlugins in PluginManager. Move all individual src/lib/runners/*Runner* classes to their own plugins in src/plugins/runner/$name. Change MarbleRunnerManager to use plugins only. Extend MarbleAbstractRunner interface to allow runners do reverse geocoding and routing. MarbleAbstractRunner does not derive from QThread anymore, threads are handled transparently by the MarbleRunnerManager. Use QThreadPool and QRunnable (new class RunnerTask) to execute runners in threads. Move route parsing from RoutingModel to plugins, RoutingModel only accepts GeoDataDocument* from now on. Transform OpenRouteService and Yours RoutingProvider classes into runner plugins. Remove AbstractRoutingProvider, not needed anymore. Add new gosmore runner plugin, it does offline routing by calling the gosmore application and parsing its output. Does nothing if gosmore is not installed or ~/.local/share/marble/maps/earth/gosmore/gosmore.pak does not exist). Routing UI can handle several alternative routes coming in now.
    
    svn path=/trunk/KDE/kdeedu/marble/; revision=1153659
    a71df0d7