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











<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Revised patch to follow.  I've also attempted to fix the 'quirks' I referred to above, but I'll keep them separate from this, for clarity.</pre>
<br />







<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On October 10th, 2013, 5:02 a.m. UTC, <b>Cristian Oneț</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="http://git.reviewboard.kde.org/r/113143/diff/1/?file=199630#file199630line722" style="color: black; font-weight: bold; text-decoration: underline;">kmymoney/dialogs/transactioneditor.cpp</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">715</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">  <span class="n">QString</span> <span class="n">number</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;">Please declare variables at the point of their initialization, there is no point in declaring the number variable outside of the if statement. And use a const reference if you don't intend to change it.

const QString &number = tr.splits().front().number();</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;">On being passed to keepNewNumber(), 'number' was getting changed so couldn't be const.
I've reworked that area anyway, and dispensed with QString number.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On October 10th, 2013, 5:02 a.m. UTC, <b>Cristian Oneț</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="http://git.reviewboard.kde.org/r/113143/diff/1/?file=199631#file199631line1480" style="color: black; font-weight: bold; text-decoration: underline;">kmymoney/mymoney/mymoneyfile.h</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

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

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">public:</pre></td>

  </tr>
 </tbody>



 
 

 <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">1480</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">  <span class="n">QString</span> <span class="nf">strNumericPart</span><span class="p">(</span><span class="n">QString</span> <span class="n">num</span><span class="p">)</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;">Please pass a 'const QString &' as a parameter instead of by-value.
And why does 'strNumericPart' only forward to the 'numericPart' private function, why don't you make 'numericPart' public and remove 'strNumericPart'?</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;">> Please pass a 'const QString &' as a parameter instead of by-value. - Done.

I did originally have 'numericPart' as public, but had an impression that member variables were best not public so changed it.  Lack of formal tuition rears its head again. - Done.</pre>
<br />




<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On October 10th, 2013, 5:02 a.m. UTC, <b>Cristian Oneț</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;">The above are just some plain old C++ coding style suggestions. Also should 'numericPart' really belong to the mymoneyfile object? If so I would add some testcases for it in the mymoneyfiletest suite.</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;">No, not really.  I placed it there only because there were a couple of of other similar routines there, but they aren't really that similar.  As it's used only by TransactionEditor, I've moved it to there.</pre>
<br />


<p>- Allan</p>


<br />
<p>On October 7th, 2013, 8:10 p.m. UTC, Allan Anderson wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://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 KMymoney.</div>
<div>By Allan Anderson.</div>


<p style="color: grey;"><i>Updated Oct. 7, 2013, 8:10 p.m.</i></p>







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


 <a href="http://bugs.kde.org/show_bug.cgi?id=319801">319801</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kmymoney
</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;">If a user's sequence of check numbers is broken by, say 'ATM' or an invoice number such as 'No 123-001 ABC', the next check number produced will be '1', entries containing alpha or punctuation characters not being saved.
The fix corrects this by saving the complete entry, and uses any entered numeric part to calculate the next number in sequence.  If an existing numeric entry is edited, this entry will be taken into account for the next number.

There are some quirks.  If the entry which led to the current 'next number' is deleted, it is not possible to revert to the previous, now forgotten, 'next number', so the produced 'next number' is likely to leave a 'gap', and may need editing.  Also, there is no check that a new 'next number' does not already exist.  For instance, if there is the erroneous sequence 23,23,24, the 'next number' will be the expected 25.  However, if the user corrects the error by changing a 23 to 22, the new 'next number' will be 23, which also already exists.  I'm not sure if such issues, which exist also in the current release, are worthy of fixing for a fairly unimportant area, without becoming more involved.</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;">Many manual entries checked, including coping with all values in the unit tests.  The unit test runs OK.</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>kmymoney/dialogs/transactioneditor.h <span style="color: grey">(f07dafb)</span></li>

 <li>kmymoney/dialogs/transactioneditor.cpp <span style="color: grey">(39049cf)</span></li>

 <li>kmymoney/mymoney/mymoneyfile.h <span style="color: grey">(af0c6fb)</span></li>

 <li>kmymoney/mymoney/mymoneyfile.cpp <span style="color: grey">(ff7302c)</span></li>

</ul>

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







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








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