[Kmymoney-devel] Review Request 112947: BUG:322768 - Interest category and amount disappear when new fee entered in Dividend. Also, fixes for KEditWidget visibility issues.

Cristian Oneț onet.cristian at gmail.com
Thu Sep 26 10:00:42 UTC 2013


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


Reading http://kmymoney2.sourceforge.net/kde4/online-manual/details.investments.ledger.html#idp38934400 I didn't manage to get a good idea of which widgets should be visible or not depending on the investment action so I can't say anything about the functionality (other then it looks good and is without flickering). Maybe it would be a good idea to document each action in more detail, but I'm not requesting you this. The rest of my comments are strictly with my programmer's hat on.


kmymoney/dialogs/investactivities.cpp
<http://git.reviewboard.kde.org/r/112947/#comment30008>

    does the ending '///' mean anything? if this is a placeholder to search for maybe a textual comment would be better suited



kmymoney/dialogs/investactivities.cpp
<http://git.reviewboard.kde.org/r/112947/#comment30007>

    Please run astyle-kmymoney.sh before pushing the commit.



kmymoney/dialogs/investtransactioneditor.cpp
<http://git.reviewboard.kde.org/r/112947/#comment30012>

    I would go with something like this to make it more readable.
    const bool hideFee = txt.isEmpty() || d->m_activity->type() == MyMoneySplit::AddShares || .. the rest of the activities which don't have a fee
    if (hideFee) {
      l->setText("");
      feeAmount->hide();
    } else {
      l->setText(i18n("Fee Amount"));
      feeAmount->show();
    }



kmymoney/dialogs/investtransactioneditor.cpp
<http://git.reviewboard.kde.org/r/112947/#comment30011>

    Could this:
    if (cond) {} else if (cond) {}
    be written in a more readable manner? I would write something like:
    if (cond) {} else {}
    since all activity types are either in one or the other codition.



kmymoney/dialogs/transactioneditor.cpp
<http://git.reviewboard.kde.org/r/112947/#comment30009>

    If the category id is cleared here then why shouldn't the category editor widget be cleared two lines bellow?



kmymoney/dialogs/transactioneditor.cpp
<http://git.reviewboard.kde.org/r/112947/#comment30010>

    Are you sure that this is valid since       categoryId.clear() is called above? This only keeps the data in the widget.


- Cristian Oneț


On Sept. 26, 2013, 12:03 a.m., Allan Anderson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112947/
> -----------------------------------------------------------
> 
> (Updated Sept. 26, 2013, 12:03 a.m.)
> 
> 
> Review request for KMymoney.
> 
> 
> Description
> -------
> 
> - Interest category disappears -
> Steps to Reproduce:
> 1.Open a new Dividend transaction.
> 2.Enter an interest category and amount.
> 3.Enter a new fee category.
> 4.On accepting the new category, the interest category and amount have been cleared.
> One line fix in kmymoney/dialogs/transactioneditor.cpp.
> 
> - Fixes for KEditWidget visibility issues.
>  When editing an investment transaction, interest or fee edit widgets show or hide incorrectly.  This is a fairly long-standing issue, and there have been attempts to fix by delaying the show() or hide() instructions.  This became more pronounced during work to allow column resizing, and Cristian produced a fix for the root cause.  This fix is included here.
> With the above fix in place, it became necessary to revert the delayed show() and hide() calls, and this has been done.
> Of course, nothing is ever as simple as that, and another couple of issues emerged.  Whether or not an interest or fee amount widget is shown depends on the presence or absence of the associated category's text.  It transpired that if, say, an existing Reinvest transaction was edited to be, say a Buy transaction,  the text from the Reinvest interest category was seen by the new Buy entry and resulted in the interest-amount widget being visible when none should appear.  Similarly, if a transaction with a fee set is edited to be a type with no fee expected, for instance, an Add or RemoveShares, then the fee-amount widget became visible when not needed.
> It was necessary to rework the slotUpdateFeeVisibility() and slotUpdateInterestVisibility() functions to take account of the new transaction type.
> 
> 
> This addresses bug 322768.
>     http://bugs.kde.org/show_bug.cgi?id=322768
> 
> 
> Diffs
> -----
> 
>   kmymoney/dialogs/investactivities.cpp 50f33ed 
>   kmymoney/dialogs/investtransactioneditor.h 3e62c2a 
>   kmymoney/dialogs/investtransactioneditor.cpp e9f87fb 
>   kmymoney/dialogs/transactioneditor.cpp 39049cf 
>   kmymoney/widgets/transactioneditorcontainer.h f77b195 
> 
> Diff: http://git.reviewboard.kde.org/r/112947/diff/
> 
> 
> Testing
> -------
> 
> Entering and editing various transaction types to ensure only the appropriate widgets became visible or hidden when required.
> 
> 
> Thanks,
> 
> Allan Anderson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kmymoney-devel/attachments/20130926/b12ca21e/attachment-0001.html>


More information about the KMyMoney-devel mailing list