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











<div>




<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/110022/diff/3/?file=144072#file144072line68" style="color: black; font-weight: bold; text-decoration: underline;">kmymoney/models/accountsmodel.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </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; ">class AccountsModel::Private</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">68</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">      <span class="n">MyMoneyAccount</span><span class="o">::</span><span class="n">accountTypeE</span> <span class="n">acctype</span><span class="p">;</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">MyMoneyAccount::accountTypeE acctype = acc.accountType();
Just a small style issue.</pre>
</div>
<br />



<p>- Cristian</p>


<br />
<p>On May 15th, 2013, 4:31 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 May 15, 2013, 4:31 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;">BUG:317655 - Re-importing a categories list QIF file results in duplicated categories. Also, when creating sub-categories, some may appear twice or more times in Categories view.

These problems showed up with a single users categories list QIF file.  The re-importing problem is fixed by the 
/kmymoney/converter/mymoneyqifreader.cpp change.

@@ -906,7 +906,7 @@ void MyMoneyQifReader::processCategoryEntry(void)
   }
 
   // check if we can find the account already in the file
-  MyMoneyAccount acc = kmymoney->findAccount(account, MyMoneyAccount());
+  MyMoneyAccount acc = kmymoney->findAccount(account, parentAccount);

Even without any re-importing, there was a further problem, where third-level(plus) sub-categories get duplicated.  With the following simple file -
"!Type:Cat
NUtilities:Telephone:Cell:A
DCell Phone
E
^"
the "N" line is dealt with recursively, and initially, all the categories get created.  However, what happens then is that the second part is dealt with, and the next lower level is created again, etc.

Initially, during this recursive process, the categories have not yet been added to the KMM file, so I add them to a new addedCategoriesList, which is scanned on each pass, to avoid this duplication.  Because the process is recursive, I made the list static, to ensure the higher levels are retained between passes when descending the tree.

The problem is not confined to importing.  If that "N" line category tree is created manually, in one entry, or during .kmy file loading, the third and lower levels get duplicated/triplicated.

The problem manifests itself only in the Categories view.  Within the rest of KMM, the categories are created and maintained correctly.</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;">Numerous test case QIF files created and imported.  Also, as the problem affected my live data file, that, too, was used for testing.</pre>
  </td>
 </tr>
</table>



<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=317655">317655</a>


</div>


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

 <li>kmymoney/converter/mymoneyqifreader.cpp <span style="color: grey">(f42b12b)</span></li>

 <li>kmymoney/models/accountsmodel.cpp <span style="color: grey">(3679314)</span></li>

</ul>

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







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








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