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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On June 25th, 2016, 12:52 p.m. UTC, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">First of all: I love the feature as such, as it makes the whole checksum comparison story actually usable for average users (although they'd still have to be told how to do it because they'd probably not get the idea that they'd find it in the properties dialog)!</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I agree with Christoph and David that it shouldn't just calculate all three checksums as soon as one clicks on the tab.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Let's talk through typical user stories:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I assume the most common story is a user downloading a file from a website which provides a checksum (either on the site or in the form a text file), and then wanting to check file integrity using that sum.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For that, the user does not need all three sums (even if all three are provided, there is little use in checking <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">all</em> of them, is there?).
>From an average user's perspective, the ideal situation would be that they's simply have to paste the checksum they have into a generic checksum field, then it would be automatically detect which type of checksum it is, the corresponding checksum would be calculated and the comparison would be made. Would that be possible?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">We have to be aware that the whole checksum business is pretty advanced and difficult to understand for most users, which is why I fear that it is far less often used than it should be. Therefore, the less knowledge about checksums a user needs in order to complete the task, the better.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Another story would be a user wanting to share the actual checksum somewhere. For that, they'd need a way to generate it manually. Even then, however, how likely is it they'd need all three?
For this story I'd provide either three different "Calculate Checksum" buttons or one drop down button to select which one to calculate, and then calculate only that.</p></pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Thanks for the feedback!</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I agree with Christoph and David that it shouldn't just calculate all three checksums as soon as one clicks on the tab.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Got it, indeed it's not that useful to show all 3 of them at the same time.</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">From an average user's perspective, the ideal situation would be that they's simply have to paste the checksum they have into a generic checksum field, then it would be automatically detect which type of checksum it is, the corresponding checksum would be calculated and the comparison would be made. Would that be possible?</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think it should be possible. We could check the length of the pasted checksum and guess the type of algorithm from that.</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Another story would be a user wanting to share the actual checksum somewhere. For that, they'd need a way to generate it manually. Even then, however, how likely is it they'd need all three?
For this story I'd provide either three different "Calculate Checksum" buttons or one drop down button to select which one to calculate, and then calculate only that.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Makes sense as well. Using a dropdown button should be the simplest possible solution.</p></pre>
<br />










<p>- Elvis</p>


<br />
<p>On June 25th, 2016, 10:39 a.m. UTC, Elvis Angelaccio wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDE Frameworks, KDE Usability and David Faure.</div>
<div>By Elvis Angelaccio.</div>


<p style="color: grey;"><i>Updated June 25, 2016, 10:39 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kio
</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This patch adds a Checksums tab in the properties dialog, where the user can retrieve and verify the most popular checksum algorithms (md5, sha1 and sha256). </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">To simplify the implementation, the checksums are computed as soon as the user opens the dialog. This can take a while if the file is huge (in particular with sha256), but the computation happens in another thread and in practice this should not be a performance problem.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The tab is available only for readable local files (no simlinks) and only when there is a single selection.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Please note that some of the labels in the screenshots are clipped due to a bug in breeze: https://bugs.kde.org/show_bug.cgi?id=364426</p></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;"><ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Check whether the computed values match the values from md5sum, sha1sum, sha256sum.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Check whether the line edits get a green background if the computed and expected values match.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Check whether the line edits get a red background if the computed and expected values differ.</li>
</ul></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/widgets/CMakeLists.txt <span style="color: grey">(f9065777a0d2f1d126dc482d66e1bbb1ba127895)</span></li>

 <li>src/widgets/checksumswidget.ui <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/widgets/kpropertiesdialog.cpp <span style="color: grey">(d0a2faa5114e391680925e10646ce7c6f2ea29da)</span></li>

 <li>src/widgets/kpropertiesdialog_p.h <span style="color: grey">(c01554e694ff3c905e768048ce94800739760fb7)</span></li>

</ul>

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



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>


 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/25/327218af-c026-458e-a48d-512787abad42__Spectacle.st2415.png">sha256-computing</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/25/4b37d28e-02b9-42e2-96f2-184ffd42b31a__Spectacle.kh2415.png">md5-match</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/25/99fdcf92-f784-4a7d-8aba-c25b8be08c04__Spectacle.Xz2415.png">sha1-differ</a></li>

</ul>




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







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