<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="http://git.reviewboard.kde.org/r/105772/">http://git.reviewboard.kde.org/r/105772/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ship It!</pre>
 <br />







<p>- Torsten</p>


<br />
<p>On July 28th, 2012, 4:34 p.m., Thibaut Gridel wrote:</p>






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

<div>Review request for Marble.</div>
<div>By Thibaut Gridel.</div>


<p style="color: grey;"><i>Updated July 28, 2012, 4:34 p.m.</i></p>






<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;">I collapsed many commits together so that it forms only one review, so I'll describe more:

- first part changes the api for SearchRunner, adding a LatLonAltBox parameter. This impacts all search runners in consequence, but not all will provide the functionality.
- nominatim-search adds the &viewbox= parameters to uri, performing a restrained search
- local-osm-search takes into account the center of that bbox and sorts the results by proximity.
- localdatabase filters the results based on that bbox.

MarbleRunnerManager needs to change its caching such that asking the same searchTerm on another bbox triggers a new search.
Last, the NavigationWidget enables that Local search through a checkbox, as I couldn't find easy way to decide if a search could be local or not from the searchTerm only.

Ideas for future:
Perform local search by default might be the way to go, and asking for a general search a second class citizen.
local-osm-search has quite advanced analysis of search, maybe bringing this to main would benefit others.
Sorting by distance or by relevance is undecided as well.</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;">Searching by poi terms now brings interesting results.
Unchecking still allows to search for the numerous city homonyms, and specific adress still works in both cases.
Other search usecases unaffected: routing still performs unboxed search.</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>src/lib/MarbleAbstractRunner.h <span style="color: grey">(f3d9665)</span></li>

 <li>src/lib/MarbleAbstractRunner.cpp <span style="color: grey">(9e14e37)</span></li>

 <li>src/lib/MarbleRunnerManager.h <span style="color: grey">(88153df)</span></li>

 <li>src/lib/MarbleRunnerManager.cpp <span style="color: grey">(8e0589d)</span></li>

 <li>src/lib/NavigationWidget.h <span style="color: grey">(1b509f5)</span></li>

 <li>src/lib/NavigationWidget.cpp <span style="color: grey">(706daa1)</span></li>

 <li>src/lib/NavigationWidget.ui <span style="color: grey">(4c259a6)</span></li>

 <li>src/lib/RunnerTask.h <span style="color: grey">(eafd719)</span></li>

 <li>src/lib/RunnerTask.cpp <span style="color: grey">(2bb020a)</span></li>

 <li>src/plugins/runner/hostip/HostipRunner.h <span style="color: grey">(ca2c745)</span></li>

 <li>src/plugins/runner/hostip/HostipRunner.cpp <span style="color: grey">(6b161ba)</span></li>

 <li>src/plugins/runner/latlon/LatLonRunner.h <span style="color: grey">(a7b16bf)</span></li>

 <li>src/plugins/runner/latlon/LatLonRunner.cpp <span style="color: grey">(73b23b7)</span></li>

 <li>src/plugins/runner/local-osm-search/DatabaseQuery.h <span style="color: grey">(ec00d97)</span></li>

 <li>src/plugins/runner/local-osm-search/DatabaseQuery.cpp <span style="color: grey">(87c6b0f)</span></li>

 <li>src/plugins/runner/local-osm-search/LocalOsmSearchRunner.h <span style="color: grey">(1795494)</span></li>

 <li>src/plugins/runner/local-osm-search/LocalOsmSearchRunner.cpp <span style="color: grey">(9a82e80)</span></li>

 <li>src/plugins/runner/local-osm-search/OsmDatabase.h <span style="color: grey">(10c7beb)</span></li>

 <li>src/plugins/runner/local-osm-search/OsmDatabase.cpp <span style="color: grey">(477708a)</span></li>

 <li>src/plugins/runner/localdatabase/LocalDatabaseRunner.h <span style="color: grey">(034919b)</span></li>

 <li>src/plugins/runner/localdatabase/LocalDatabaseRunner.cpp <span style="color: grey">(7d469bb)</span></li>

 <li>src/plugins/runner/nominatim-search/OsmNominatimSearchRunner.h <span style="color: grey">(d8337a8)</span></li>

 <li>src/plugins/runner/nominatim-search/OsmNominatimSearchRunner.cpp <span style="color: grey">(1345dfa)</span></li>

</ul>

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




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








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