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 &) {