[Kmymoney-devel] Review Request: Adding Tags to Kmymoney - first draft

Fernando Vilas fvilas at iname.com
Tue Oct 23 01:11:29 UTC 2012



> On Oct. 22, 2012, 6:13 a.m., Thomas Baumgart wrote:
> > kmymoney/mymoney/mymoneytag.h, line 85
> > <http://git.reviewboard.kde.org/r/106846/diff/5/?file=91718#file91718line85>
> >
> >     Use 'const <type>&' when returning direct members of complex types such as QString, QDate, QColor. It improves performance.
> 
> Alessandro Russo wrote:
>     I did the changes but If I put const QColor& tagColor(void) I get this error:
>     mymoney/storage/mymoneystoragesql.cpp:2952:56: error: passing ‘const QColor’ as ‘this’ argument of ‘void QColor::setNamedColor(const QString&)’ discards qualifiers [-fpermissive]
>     
>     The row is:
>     tag.tagColor().setNamedColor(GETSTRING(tagColorCol));

What about tag.setTagColor(QColor(GETSTRING(tagColorCol)); ? 

The code you have does not do what you think it does anyway... What you have returns a copy of the QColor member, then trashes it when scope is exited. The member variable in MMTag is never touched. 

For const-correctness, all non-basic return values in accessor functions should be const. On this project we make it a const-reference for efficiency, but we have to be careful about initializing a const-reference with a return value that gets destroyed while there is still a reference to it. QObjects help with that quite a bit.

You are already using the mutator functions you coded for the rest of the MMTag object you have, so this will just make it look like the rest.


- Fernando


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


On Oct. 21, 2012, 10:52 p.m., Alessandro Russo wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106846/
> -----------------------------------------------------------
> 
> (Updated Oct. 21, 2012, 10:52 p.m.)
> 
> 
> Review request for KMymoney.
> 
> 
> Description
> -------
> 
> 1) I created and almost completed the Tag tab in KMyMoneyView (KTagsView),
> it's similar to the payees tab.
> 2) I modified many classes in the storage folder and created a new class
> MyMoneyTag similar to MyMoneyPayee, now Tags save and load correctly but not
> all tag attribute (visibibleFrom,etc..) are saved/loaded yet.
> 3) I changed transactioneditor, transaction and KGlobalLedgerView, now there
> is a new widget called Tags in the translationeditor that someway works but
> no tags are shown in the ledger yet and no widget is showed when you insert
> or edit a transaction directly from the ledger (is this a feature that
> somebody uses?).
> 4) Missing features:
>   - multi tags per transaction (only 1 tag can be added at this time)
>   - no tag selection in reports
>   - hierarchical tags (I'm rethinking about the real usefulness of this
> one... as implementing it will require some work  )
>   - in the tag tab you can select a color for the tag, this will be used to
> show the tag in the ledger with this  color, also no visibility check is
> made.
>   - no tags in a split
>  Bugs:
>   - in the tag tab if you select a tag and click on the 'New tag' button the
> selected tag wil be deleted and replaced with an empy "NewTag"
>   - in the transaction editor when you edit a transaction with a tag the tag
> field is empty, when not in edit mode it show the tag name correctly.
>   - many more... 
> 
> 
> This addresses bug 207761.
>     http://bugs.kde.org/show_bug.cgi?id=207761
> 
> 
> Diffs
> -----
> 
>   kmymoney/dialogs/CMakeLists.txt 9a8d782 
>   kmymoney/dialogs/kfindtransactiondlg.h 397d623 
>   kmymoney/dialogs/kfindtransactiondlg.cpp 506d752 
>   kmymoney/dialogs/kfindtransactiondlgdecl.ui d9e95ce 
>   kmymoney/dialogs/kreportconfigurationfilterdlg.cpp a50de29 
>   kmymoney/dialogs/ktagreassigndlg.h PRE-CREATION 
>   kmymoney/dialogs/ktagreassigndlg.cpp PRE-CREATION 
>   kmymoney/dialogs/ktagreassigndlgdecl.ui PRE-CREATION 
>   kmymoney/dialogs/transactioneditor.h 2535d96 
>   kmymoney/dialogs/transactioneditor.cpp 06c7fd1 
>   kmymoney/kmymoney.h 9482812 
>   kmymoney/kmymoney.cpp 1ef7400 
>   kmymoney/kmymoney.kcfg 95e33df 
>   kmymoney/kmymoneyui.rc 4294c46 
>   kmymoney/mymoney/CMakeLists.txt d2917b5 
>   kmymoney/mymoney/mymoneyfile.h 6c1aa25 
>   kmymoney/mymoney/mymoneyfile.cpp eef7126 
>   kmymoney/mymoney/mymoneyobjectcontainer.h 21cd74c 
>   kmymoney/mymoney/mymoneyobjectcontainer.cpp 2e9c496 
>   kmymoney/mymoney/mymoneyreport.h 7747353 
>   kmymoney/mymoney/mymoneyreport.cpp 24d75d8 
>   kmymoney/mymoney/mymoneysplit.h ded6b4c 
>   kmymoney/mymoney/mymoneysplit.cpp 168d1e6 
>   kmymoney/mymoney/mymoneytag.h PRE-CREATION 
>   kmymoney/mymoney/mymoneytag.cpp PRE-CREATION 
>   kmymoney/mymoney/mymoneytransactionfilter.h 2a7b85d 
>   kmymoney/mymoney/mymoneytransactionfilter.cpp 6650fef 
>   kmymoney/mymoney/storage/CMakeLists.txt 0495726 
>   kmymoney/mymoney/storage/imymoneyserialize.h ff49986 
>   kmymoney/mymoney/storage/imymoneystorage.h 8b980b7 
>   kmymoney/mymoney/storage/mymoneydatabasemgr.h ab587ed 
>   kmymoney/mymoney/storage/mymoneydatabasemgr.cpp f98a965 
>   kmymoney/mymoney/storage/mymoneydbdef.h a2eecaf 
>   kmymoney/mymoney/storage/mymoneydbdef.cpp 9fa9781 
>   kmymoney/mymoney/storage/mymoneyseqaccessmgr.h da67e58 
>   kmymoney/mymoney/storage/mymoneyseqaccessmgr.cpp 232d6b2 
>   kmymoney/mymoney/storage/mymoneystorageanon.h 482fc9d 
>   kmymoney/mymoney/storage/mymoneystorageanon.cpp 0e7ebdd 
>   kmymoney/mymoney/storage/mymoneystoragebin.h af2b254 
>   kmymoney/mymoney/storage/mymoneystoragedump.cpp d36b4bb 
>   kmymoney/mymoney/storage/mymoneystoragesql.h 73875b3 
>   kmymoney/mymoney/storage/mymoneystoragesql.cpp 90ee818 
>   kmymoney/mymoney/storage/mymoneystoragexml.h 126cf8c 
>   kmymoney/mymoney/storage/mymoneystoragexml.cpp 88a02df 
>   kmymoney/reports/listtable.cpp d163f58 
>   kmymoney/reports/querytable.cpp 697f425 
>   kmymoney/views/CMakeLists.txt de0272f 
>   kmymoney/views/kgloballedgerview.cpp dfaecbd 
>   kmymoney/views/kmymoneyview.h 99ab398 
>   kmymoney/views/kmymoneyview.cpp 49dcc85 
>   kmymoney/views/ktagsview.h PRE-CREATION 
>   kmymoney/views/ktagsview.cpp PRE-CREATION 
>   kmymoney/views/ktagsviewdecl.ui PRE-CREATION 
>   kmymoney/widgets/kmymoney.widgets 857e42c 
>   kmymoney/widgets/kmymoneymvccombo.h 305e8a1 
>   kmymoney/widgets/kmymoneymvccombo.cpp 42a3687 
>   kmymoney/widgets/kmymoneyreportconfigtab3decl.ui ab150ee 
>   kmymoney/widgets/transaction.h a28053e 
>   kmymoney/widgets/transaction.cpp bfaafbf 
> 
> Diff: http://git.reviewboard.kde.org/r/106846/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Alessandro Russo
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kmymoney-devel/attachments/20121023/8ee24610/attachment.html>


More information about the KMyMoney-devel mailing list