[Marble-devel] Re: Review Request: Monav Configuration Widget / Offline Routing Maps via KNewStuff

Dennis Nienhüser earthwings at gentoo.org
Wed Oct 20 23:49:09 CEST 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://svn.reviewboard.kde.org/r/5674/
-----------------------------------------------------------

(Updated 2010-10-20 21:49:09.107094)


Review request for marble.


Summary
-------

Adds a configuration widget for Monav (offline router) that allows to set a transport type preference for each routing profile and allows to manage maps (independent of the current profile). Maps can be installed (via a minimalistic KNewStuff implementation), updated and removed.

To get the information about available and upgradable maps, a maps.xml file is downloaded and parsed. Currently one on my server is used, but I'd move that one to edu.kde.org later. We can integrate it into the KDE KNewStuff feature as well (only the providers.xml on edu.kde.org needs to be modified). I'd delay that however until category support works. I talked to Tom Albers about hosting the maps themselves on edu.kde.org as well, which seems to be a problem currently due to the lack of server capacities. To get around that, we can host the maps on my server. It has enough space (motorcar maps for the whole world are already uploaded) and will have unlimited traffic soon. To change the download location later, only the maps.xml on edu.kde.org needs to be modified, so it's transparent to users where the files are hosted and no code modifications are needed to switch to a different server later.

The files downloaded are tar.gz files, expected to be extracted in localPath()/maps like the others. Data will end up in localPath()/maps/earth/monav/motorcar/$continent/$country/[$region/] after extraction. Each map directory consists of a couple of files needed by monav and a marble.kml file that contains outline polygons and some other metadata (name, date, version, transport type). This metadata is compared against the KNewStuff metadata to decide whether updates are available.

I have a couple of scripts that automate the process of downloading, preprocessing and deploying the maps. I'll push them to a git repository on git.kde.org after some cleanup.


Diffs
-----

  /trunk/KDE/kdeedu/marble/src/lib/RunnerPlugin.h 1186340 
  /trunk/KDE/kdeedu/marble/src/lib/RunnerPlugin.cpp 1186340 
  /trunk/KDE/kdeedu/marble/src/lib/routing/RoutingManager.cpp 1186340 
  /trunk/KDE/kdeedu/marble/src/lib/routing/RoutingProfileSettingsDialog.cpp 1186340 
  /trunk/KDE/kdeedu/marble/src/lib/routing/RoutingProfileSettingsDialog.ui 1186340 
  /trunk/KDE/kdeedu/marble/src/lib/routing/RoutingWidget.cpp 1186340 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/CMakeLists.txt 1186340 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/MonavConfigWidget.h PRE-CREATION 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/MonavConfigWidget.cpp PRE-CREATION 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/MonavConfigWidget.ui PRE-CREATION 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/MonavMap.h PRE-CREATION 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/MonavMap.cpp PRE-CREATION 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/MonavMapsModel.h PRE-CREATION 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/MonavMapsModel.cpp PRE-CREATION 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/MonavPlugin.h 1186340 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/MonavPlugin.cpp 1186340 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/edit-delete.png UNKNOWN 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/monav.qrc PRE-CREATION 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/monav/system-software-update.png UNKNOWN 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/openrouteservice/OpenRouteServicePlugin.h 1186340 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/openrouteservice/OpenRouteServicePlugin.cpp 1186340 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/openrouteservice/OpenRouteServiceRunner.cpp 1186340 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/routino/RoutinoPlugin.h 1186340 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/routino/RoutinoPlugin.cpp 1186340 
  /trunk/KDE/kdeedu/marble/src/plugins/runner/yours/YoursRunner.cpp 1186340 

Diff: http://svn.reviewboard.kde.org/r/5674/diff


Testing
-------

Desktop (Qt) and N900. KDE and KNewStuff integration works as well when modifying providers.xml appropriately.


Screenshots (updated)
-----------

Transport Type Selection
  http://svn.reviewboard.kde.org/r/5674/s/537/
New Map Selection
  http://svn.reviewboard.kde.org/r/5674/s/538/
New Map Installation Progress (N900)
  http://svn.reviewboard.kde.org/r/5674/s/539/
Map Management (N900)
  http://svn.reviewboard.kde.org/r/5674/s/540/


Thanks,

Dennis

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/marble-devel/attachments/20101020/3970a941/attachment-0001.htm 


More information about the Marble-devel mailing list