From fc68f9ee6ecc08758384c6c59af249fe98167469 Mon Sep 17 00:00:00 2001 From: Till Theato Date: Thu, 29 Apr 2010 18:26:57 +0000 Subject: [PATCH] Fix effectlist filter and search not obeying to each other svn path=/trunk/kdenlive/; revision=4406 --- src/effectslistview.cpp | 17 ++++++++++++++++- src/effectslistview.h | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/effectslistview.cpp b/src/effectslistview.cpp index a9d37762..5106c142 100644 --- a/src/effectslistview.cpp +++ b/src/effectslistview.cpp @@ -53,7 +53,7 @@ EffectsListView::EffectsListView(QWidget *parent) : connect(buttonInfo, SIGNAL(clicked()), this, SLOT(showInfoPanel())); connect(m_effectsList, SIGNAL(itemSelectionChanged()), this, SLOT(slotUpdateInfo())); connect(m_effectsList, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(slotEffectSelected())); - + connect(search_effect, SIGNAL(hiddenChanged(QTreeWidgetItem *, bool)), this, SLOT(slotUpdateSearch(QTreeWidgetItem *, bool))); //m_effectsList->setCurrentRow(0); } @@ -82,6 +82,9 @@ void EffectsListView::filterList(int pos) hideFolder = false; folder->setHidden(hideFolder); } + // make sure we don't show anything not matching the search expression + search_effect->updateSearch(); + /*item = m_effectsList->currentItem(); if (item) { if (item->isHidden()) { @@ -152,4 +155,16 @@ void EffectsListView::slotRemoveEffect() emit reloadEffects(); } +void EffectsListView::slotUpdateSearch(QTreeWidgetItem *item, bool hidden) +{ + if (!hidden) { + if (item->data(0, Qt::UserRole).toInt() == type_combo->currentIndex()) { + item->parent()->setHidden(false); + } else { + if (type_combo->currentIndex() != 0) + item->setHidden(true); + } + } +} + #include "effectslistview.moc" diff --git a/src/effectslistview.h b/src/effectslistview.h index c528fa92..6f17209f 100644 --- a/src/effectslistview.h +++ b/src/effectslistview.h @@ -54,6 +54,7 @@ private slots: void showInfoPanel(); void slotEffectSelected(); void slotRemoveEffect(); + void slotUpdateSearch(QTreeWidgetItem *item, bool hidden); public slots: -- 2.39.2