Bug 315747

Summary: Make columns displayed in the Accounts view user selectable.
Product: [Applications] kmymoney Reporter: allan <agander93>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: wishlist CC: mk-lists
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.0
Sentry Crash Report:

Description allan 2013-02-25 11:58:08 UTC
(From kmymoney-devel list)

> I would like to be able to select the columns displayed in the Accounts
> view.
> 
> I only use for domestic accounting therefore Tax columns are of no
> interest. I would like this view to display bank sort code and account
> numbers.  

Reproducible: Always
Comment 1 Marko Käning 2013-02-26 20:04:45 UTC
I'll have a look into this.
Comment 2 Marko Käning 2013-03-03 15:25:06 UTC
I realized that this is probably better done by Cristian who implemented the model, see here
	kmymoney/models/accountsmodel.cpp
	kmymoney/models/accountsmodel.h

Greets,
Marko
Comment 3 wojnilowicz 2017-08-02 15:54:43 UTC
Git commit db6b3ec4a489fadfac64cd6606bce234ba83c7de by Łukasz Wojniłowicz.
Committed on 02/08/2017 at 15:52.
Pushed by wojnilowicz into branch 'master'.

Make view columns user selectable

Purpose of this patch is to speed up set up of accounts model. It
involves deduplication of data loaded into model, configuring columns to
be displayed and deferring load of data.
Changes:
1) Context menu per view for selecting columns to be displayed. Views
can have different columns set. If column isn't displayed in any view,
then it is released from AccountsModel thus freeing resources.
2) During KMM start only Account column is loaded. The rest is loaded on
demand.
3) Signals for views using KMyMoneyAccountTreeView are connected in
ctors of those views, so no need for proxy signals.
4) KAccountsView is loaded on demand just like other views.
5) Signals blocked in AccountsModel::load to not emit lots of
dataChanged signals.
6) AccountsModel::loadPreferredAccount for copying preferred account and
not recalculating it from the beginning.
7) QStandardItemModel::setChild instead of
QStandardItemModel::setData(index, value) to lessen overhead.
8) AccountsModel::setAccountData takes minimal arguments needed for
correctness.
9) AccountsModel::setAccountData can update data selectively thus
shortening time to update.
10) AccountsModel::Columns::*DisplayRole are useless (There is already
Qt::DisplayRole), so they were removed significantly.
11) AccountsModel::Columns::Account used instead of 0 for correctness.
12) KMyMoneyView::slotNetBalProChanged deduplicates common code from
views using KMyMoneyAccountTreeView
Related: bug 346009
FIXED-IN:5.0

Signed-off-by: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>

Differential Revision: https://phabricator.kde.org/D6954

Signed-off-by: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>

M  +6    -8    kmymoney/converter/mymoneystatementreader.cpp
M  +5    -5    kmymoney/dialogs/kexportdlg.cpp
M  +9    -12   kmymoney/dialogs/knewaccountdlg.cpp
M  +2    -1    kmymoney/dialogs/konlinetransferform.cpp
M  +624  -431  kmymoney/models/accountsmodel.cpp
M  +16   -5    kmymoney/models/accountsmodel.h
M  +5    -4    kmymoney/models/onlinebankingaccountsfilterproxymodel.cpp
M  +2    -2    kmymoney/mymoney/mymoneyaccount.cpp
M  +86   -79   kmymoney/views/kaccountsview.cpp
M  +26   -33   kmymoney/views/kaccountsview.h
M  +111  -122  kmymoney/views/kbudgetview.cpp
M  +9    -2    kmymoney/views/kbudgetview.h
M  +52   -60   kmymoney/views/kcategoriesview.cpp
M  +9    -23   kmymoney/views/kcategoriesview.h
M  +11   -11   kmymoney/views/kgloballedgerview.cpp
M  +53   -64   kmymoney/views/kinstitutionsview.cpp
M  +12   -27   kmymoney/views/kinstitutionsview.h
M  +4    -3    kmymoney/views/kinvestmentview.cpp
M  +100  -34   kmymoney/views/kmymoneyview.cpp
M  +14   -4    kmymoney/views/kmymoneyview.h
M  +4    -7    kmymoney/views/kpayeesview.cpp
M  +3    -6    kmymoney/views/ktagsview.cpp
M  +6    -8    kmymoney/views/newspliteditor.cpp
M  +7    -9    kmymoney/views/newtransactioneditor.cpp
M  +5    -5    kmymoney/views/simpleledgerview.cpp
M  +5    -5    kmymoney/widgets/kmymoneyaccountcombo.cpp
M  +121  -52   kmymoney/widgets/kmymoneyaccounttreeview.cpp
M  +18   -7    kmymoney/widgets/kmymoneyaccounttreeview.h
M  +9    -11   kmymoney/wizards/newaccountwizard/knewaccountwizard.cpp

https://commits.kde.org/kmymoney/db6b3ec4a489fadfac64cd6606bce234ba83c7de