<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/114626/">https://git.reviewboard.kde.org/r/114626/</a>
     </td>
    </tr>
   </table>
   <br />




<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Marble.</div>
<div>By Dennis Nienhüser.</div>










<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
marble
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">FileLoader has the ability to cache .kml files in a binary format to speed up subsequent loading of files. The current implementation has some serious limitations though:
- does not check the format, would cache every file format
- supports a very limited subset of the KML structure only (a tree of placemarks)
- assumes files have unique filenames
- loads nothing if .cache file is older than original

The behavior is only sane because the auto caching is limited to relative file names. In the Marble applications this equals files loaded from .dgml map themes. Not sure what happens if 3rd party applications use FileLoader with relative filenames though.

On my system no .cache file has been created automatically ever (despite me having installed nearly every map theme around). This is probably because we ship the ones used mostly anyway. Therefore I'd like to simplify things:
- map themes who want to load .kml files quickly should specify/ship .cache files directly
- .cache files can be created with tools/kml2cache easily
- the old behavior (open .cache instead of .kml for relative files, if exists) is kept for backward compatibility
The patch implements this.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Compared md5sum of existing .cache files and .cache files created by kml2cache from existing .kml files in placemarks/. They're all identical except for cityplacemarks.{kml/cache}. I guess the cityplacemarks cache file is out of sync and needs to be fixed independently of this patch.
</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>data/maps/earth/bluemarble/bluemarble.dgml <span style="color: grey">(4e40406)</span></li>

 <li>data/maps/earth/citylights/citylights.dgml <span style="color: grey">(b6ea048)</span></li>

 <li>data/maps/earth/openstreetmap/openstreetmap.dgml <span style="color: grey">(db29b35)</span></li>

 <li>data/maps/earth/plain/plain.dgml <span style="color: grey">(7fbef91)</span></li>

 <li>data/maps/earth/precip-dec/precip-dec.dgml <span style="color: grey">(6b6147b)</span></li>

 <li>data/maps/earth/precip-july/precip-july.dgml <span style="color: grey">(ad46862)</span></li>

 <li>data/maps/earth/schagen1689/schagen1689.dgml <span style="color: grey">(b433524)</span></li>

 <li>data/maps/earth/srtm/srtm.dgml <span style="color: grey">(5eff3eb)</span></li>

 <li>data/maps/earth/temp-dec/temp-dec.dgml <span style="color: grey">(bae873e)</span></li>

 <li>data/maps/earth/temp-july/temp-july.dgml <span style="color: grey">(63afcbf)</span></li>

 <li>data/maps/moon/clementine/clementine.dgml <span style="color: grey">(fc95218)</span></li>

 <li>src/lib/marble/FileLoader.cpp <span style="color: grey">(db76ad9)</span></li>

 <li>tools/CMakeLists.txt <span style="color: grey">(5fe0f92)</span></li>

 <li>tools/kml2cache/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tools/kml2cache/kml2cache.cpp <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/114626/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>




  </div>
 </body>
</html>