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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 25th, 2014, 2:02 a.m. CEST, <b>David Edmundson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://git.reviewboard.kde.org/r/117757/diff/1/?file=268120#file268120line131" style="color: black; font-weight: bold; text-decoration: underline;">applets/kickoff/package/contents/ui/ApplicationsView.qml</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">131</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="kd">var</span> <span class="nx">oldIndex</span> <span class="o">=</span> <span class="nx">applicationsView</span><span class="p">.</span><span class="nx">model</span><span class="p">.</span><span class="nx">rootIndex</span><span class="p">;</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Can't we just save and restore the contentY rather than going via indexes and back.

</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The index is required for the model to switch categories anyway, this is the simplest solution with as little code (and memory) as possible...

Plus, the docs says "It is not recommended to use contentX or contentY to position the view at a particular index. "

http://qt-project.org/doc/qt-5/qml-qtquick-listview.html#positionViewAtIndex-method</pre>
<br />




<p>- Martin</p>


<br />
<p>On April 24th, 2014, 10:14 p.m. CEST, Martin Klapetek wrote:</p>








<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 Plasma.</div>
<div>By Martin Klapetek.</div>


<p style="color: grey;"><i>Updated April 24, 2014, 10:14 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-desktop
</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;">Use case: I'm in All Applications, I scroll down, select Utilities, category switches inside Utilities and the scrollbar is at the same bottom position from my first scroll, which means that I see the apps in Utilities that are at the bottom instead starting from the top.

These are two changes: always scroll the view to top when going into a subcategory and then always center on the parent category when going level up. The breadcrumbs however store QModelIndex (which makes sense) and QModelIndex cannot be used from QML, so I added a helper method to the model that returns a row of the given index and the view then centers on that row when going category up. Might not be good at all but imho works&looks better.</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>applets/kickoff/core/applicationmodel.h <span style="color: grey">(a039773)</span></li>

 <li>applets/kickoff/core/applicationmodel.cpp <span style="color: grey">(3a5f0bb)</span></li>

 <li>applets/kickoff/package/contents/ui/ApplicationsView.qml <span style="color: grey">(09b7618)</span></li>

</ul>

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







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








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