diff --git a/kmymoney/dialogs/settings/ksettingsgeneraldecl.ui b/kmymoney/dialogs/settings/ksettingsgeneraldecl.ui --- a/kmymoney/dialogs/settings/ksettingsgeneraldecl.ui +++ b/kmymoney/dialogs/settings/ksettingsgeneraldecl.ui @@ -482,6 +482,13 @@ + + + + Do not show zero balance equities + + + diff --git a/kmymoney/kmymoney.kcfg b/kmymoney/kmymoney.kcfg --- a/kmymoney/kmymoney.kcfg +++ b/kmymoney/kmymoney.kcfg @@ -208,6 +208,10 @@ false + + + false + false diff --git a/kmymoney/views/kinvestmentview.cpp b/kmymoney/views/kinvestmentview.cpp --- a/kmymoney/views/kinvestmentview.cpp +++ b/kmymoney/views/kinvestmentview.cpp @@ -380,13 +380,20 @@ MyMoneyFile* file = MyMoneyFile::instance(); bool showClosedAccounts = kmymoney->toggleAction("view_show_all_accounts")->isChecked() || !KMyMoneyGlobalSettings::hideClosedAccounts(); + bool hideZeroBalance = KMyMoneyGlobalSettings::hideZeroBalanceEquities(); + try { d->m_account = file->account(d->m_account.id()); QStringList securities = d->m_account.accountList(); for (QStringList::ConstIterator it = securities.constBegin(); it != securities.constEnd(); ++it) { MyMoneyAccount acc = file->account(*it); - if (!acc.isClosed() || showClosedAccounts) + bool displayThisBalance = true; + if (hideZeroBalance) { + const MyMoneyMoney &balance = file->balance(acc.id()); + displayThisBalance = !balance.isZero(); + } + if ((!acc.isClosed() || showClosedAccounts) && displayThisBalance) loadInvestmentItem(acc); } } catch (const MyMoneyException &) {