From 76691d35eabf49c36ca2c60231e8c4aa3906a3f6 Mon Sep 17 00:00:00 2001
From: Emmanuel Lepage <emmanuel.lepage@savoirfairelinux.com>
Date: Wed, 6 Jun 2012 15:50:19 -0400
Subject: [PATCH] [ #11569 ] Fix filter

---
 kde/src/CallView.cpp            | 12 ------------
 kde/src/widgets/ContactDock.cpp |  8 +++++++-
 2 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/kde/src/CallView.cpp b/kde/src/CallView.cpp
index e2af09fbd9..1f8f5003e0 100644
--- a/kde/src/CallView.cpp
+++ b/kde/src/CallView.cpp
@@ -60,18 +60,6 @@ CallTreeItemDelegate(CallView* widget)
 
     QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const {
       QSize sh = QStyledItemDelegate::sizeHint(option, index);
-      /*if (!index.parent().isValid()) {
-        sh.rheight() += 2 * m_categoryDrawer.leftMargin();
-      } else {
-        sh.rheight() += m_categoryDrawer.leftMargin();
-      }
-      if (index.column() == 0) {
-        sh.rwidth() += m_categoryDrawer.leftMargin();
-      } else if (index.column() == 1) {
-        sh.rwidth() = 150;
-      } else {
-        sh.rwidth() += m_categoryDrawer.leftMargin();
-      }*/
       QTreeWidgetItem* item = (m_tree)->itemFromIndex(index);
       if (item) {
          CallTreeItem* widget = (CallTreeItem*)m_tree->itemWidget(item,0);
diff --git a/kde/src/widgets/ContactDock.cpp b/kde/src/widgets/ContactDock.cpp
index 65a2b39b71..b545ad3da8 100644
--- a/kde/src/widgets/ContactDock.cpp
+++ b/kde/src/widgets/ContactDock.cpp
@@ -281,7 +281,13 @@ void ContactDock::filter(const QString& text)
 
    }
 
-   //m_pContactView->expandAll();
+   for (int i=0;i< m_pContactView->topLevelItemCount();i++) {
+      bool visible = false;
+      QTreeWidgetItem* item = m_pContactView->topLevelItem(i);
+      int count  = item->childCount();
+      for (int j=0;j<count;j++) visible |= !item->child(j)->isHidden();
+      m_pContactView->topLevelItem(i)->setHidden(!visible);
+   }
 } //filter
 
 void ContactDock::reloadHistoryConst()
-- 
GitLab