From 4152f10bc4960bbea8f08663e2b8a0f7ea42c751 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 20 Sep 2021 21:24:00 +0200 Subject: [PATCH] Apply 'show all' one level deeper. This way it's possible to hide mismatching nets. But the net content is still shown in full detail. --- src/laybasic/laybasic/layNetlistBrowserModel.cc | 8 ++++---- src/laybasic/laybasic/layNetlistBrowserModel.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/laybasic/laybasic/layNetlistBrowserModel.cc b/src/laybasic/laybasic/layNetlistBrowserModel.cc index 2b42c4182..c9f1d7630 100644 --- a/src/laybasic/laybasic/layNetlistBrowserModel.cc +++ b/src/laybasic/laybasic/layNetlistBrowserModel.cc @@ -3112,7 +3112,7 @@ NetlistBrowserModel::rowCount (const QModelIndex &parent) const } void -NetlistBrowserModel::show_or_hide_items (QTreeView *view, const QModelIndex &parent, bool show_all, bool with_warnings, bool with_children) +NetlistBrowserModel::show_or_hide_items (QTreeView *view, const QModelIndex &parent, bool show_all, bool with_warnings, int levels) { int n = rowCount (parent); for (int i = 0; i < n; ++i) { @@ -3123,8 +3123,8 @@ NetlistBrowserModel::show_or_hide_items (QTreeView *view, const QModelIndex &par bool visible = (show_all || (st != db::NetlistCrossReference::Match && (with_warnings || st != db::NetlistCrossReference::MatchWithWarning))); view->setRowHidden (int (i), parent, ! visible); - if (visible && with_children) { - show_or_hide_items (view, idx, show_all, with_warnings, false /*just two levels of recursion*/); + if (visible && levels > 1) { + show_or_hide_items (view, idx, show_all, with_warnings, levels - 1); } } @@ -3134,7 +3134,7 @@ void NetlistBrowserModel::set_item_visibility (QTreeView *view, bool show_all, bool with_warnings) { // TODO: this implementation is based on the model but is fairly inefficient - show_or_hide_items (view, QModelIndex (), show_all, with_warnings, true); + show_or_hide_items (view, QModelIndex (), show_all, with_warnings, 3); } } diff --git a/src/laybasic/laybasic/layNetlistBrowserModel.h b/src/laybasic/laybasic/layNetlistBrowserModel.h index 5fc6971f9..0290e1dbe 100644 --- a/src/laybasic/laybasic/layNetlistBrowserModel.h +++ b/src/laybasic/laybasic/layNetlistBrowserModel.h @@ -373,7 +373,7 @@ private: return std::pair (mp_l2ndb->netlist (), (const db::Netlist *)0); } - void show_or_hide_items (QTreeView *view, const QModelIndex &parent, bool show_all, bool with_warnings, bool with_children); + void show_or_hide_items (QTreeView *view, const QModelIndex &parent, bool show_all, bool with_warnings, int levels); db::LayoutToNetlist *mp_l2ndb; db::LayoutVsSchematic *mp_lvsdb;