> On April 17, 2013, 6:42 a.m., Cristian Oneț wrote:
> > I need a bit of time to take a look at the bug (the categories view part of 
> > it). As I understood the categories view has a problem that causes the same 
> > category to be displayed twice, even though there is only one category in 
> > the file, is that correct? If so let me understand what is going on and 
> > maybe we can come up with a more elegant fix.

Yes, that's it, more or less.
Ignoring imports for the moment, if one wishes to have a structure 
catA:subcatB:subcatC, then, entering that all in one step results in the 
duplication, in the view, of subcatC.  So, the whole structure is created in 
one go.  If, instead, one creates the steps one at a time, all is well.  Adding 
a further subcategory results in a third level one with two copies of the 
fourth level one, followed by another third level one with a further copy of 
the fourth level one.

As I see it, in the first method, when catA is created, recursively subcatB is 
the added, then subcatC.  Next, it moves on and tries to do the same with 
subcatB, etc.  The now-existing categories are not discovered.

Sadly, I don't do 'elegant', at least not in models.  I had a hard enough time 
finding my way around.  I couldn't see where in the model to find the newly 
created categories, that's why I had to resort to using a list to record them 
temporarily.


- Allan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/110022/#review31194
-----------------------------------------------------------


On April 15, 2013, 11:53 a.m., Allan Anderson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/110022/
> -----------------------------------------------------------
> 
> (Updated April 15, 2013, 11:53 a.m.)
> 
> 
> Review request for KMymoney.
> 
> 
> Description
> -------
> 
> 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.
> 
> 
> This addresses bug 317655.
>     http://bugs.kde.org/show_bug.cgi?id=317655
> 
> 
> Diffs
> -----
> 
>   kmymoney/converter/mymoneyqifreader.cpp f42b12b 
>   kmymoney/models/accountsmodel.h 38f9f2c 
>   kmymoney/models/accountsmodel.cpp 3679314 
> 
> Diff: http://git.reviewboard.kde.org/r/110022/diff/
> 
> 
> Testing
> -------
> 
> Numerous test case QIF files created and imported.  Also, as the problem 
> affected my live data file, that, too, was used for testing.
> 
> 
> Thanks,
> 
> Allan Anderson
> 
>

_______________________________________________
KMyMoney-devel mailing list
KMyMoney-devel@kde.org
https://mail.kde.org/mailman/listinfo/kmymoney-devel

Reply via email to