X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Feffectslistview.cpp;h=90d9dd96d2e80d92e335a03510552c3dcd7e48f2;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=def04eca0f3186d1d7d4f9e7a6a8489dd36f0143;hpb=f13b8c768e3d1674d865682923ad80bc4fa13e71;p=kdenlive diff --git a/src/effectslistview.cpp b/src/effectslistview.cpp index def04eca..90d9dd96 100644 --- a/src/effectslistview.cpp +++ b/src/effectslistview.cpp @@ -19,22 +19,22 @@ #include "effectslistview.h" -#include "effectslistwidget.h" +#include "widgets/effectslistwidget.h" #include "effectslist.h" #include "kdenlivesettings.h" #include -#include +#include #include #include #include + EffectsListView::EffectsListView(QWidget *parent) : QWidget(parent) { setupUi(this); - QString styleSheet = "QTreeView::branch:has-siblings:!adjoins-item{border-image:none;border:0px} \ QTreeView::branch:has-siblings:adjoins-item {border-image: none;border:0px} \ QTreeView::branch:!has-children:!has-siblings:adjoins-item {border-image: none;border:0px} \ @@ -71,15 +71,16 @@ EffectsListView::EffectsListView(QWidget *parent) : connect(type_combo, SIGNAL(currentIndexChanged(int)), this, SLOT(filterList(int))); 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))); + connect(m_effectsList, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(slotEffectSelected())); + connect(search_effect, SIGNAL(hiddenChanged(QTreeWidgetItem*,bool)), this, SLOT(slotUpdateSearch(QTreeWidgetItem*,bool))); + connect(m_effectsList, SIGNAL(applyEffect(QDomElement)), this, SIGNAL(addEffect(QDomElement))); connect(search_effect, SIGNAL(textChanged(QString)), this, SLOT(slotAutoExpand(QString))); //m_effectsList->setCurrentRow(0); } void EffectsListView::filterList(int pos) { - for (int i = 0; i < m_effectsList->topLevelItemCount(); i++) { + for (int i = 0; i < m_effectsList->topLevelItemCount(); ++i) { QTreeWidgetItem *folder = m_effectsList->topLevelItem(i); bool hideFolder = true; for (int j = 0; j < folder->childCount(); j++) { @@ -104,7 +105,7 @@ void EffectsListView::filterList(int pos) if (item) { if (item->isHidden()) { int i; - for (i = 0; i < m_effectsList->count() && m_effectsList->item(i)->isHidden(); i++); //do nothing + for (i = 0; i < m_effectsList->count() && m_effectsList->item(i)->isHidden(); ++i); //do nothing m_effectsList->setCurrentRow(i); } else m_effectsList->scrollToItem(item); }*/ @@ -121,10 +122,10 @@ void EffectsListView::showInfoPanel() void EffectsListView::slotEffectSelected() { QDomElement effect = m_effectsList->currentEffect(); - QTreeWidgetItem* item=m_effectsList->currentItem(); - if (item && m_effectsList->indexOfTopLevelItem(item)!=-1){ - item->setExpanded(!item->isExpanded()); - } + QTreeWidgetItem* item=m_effectsList->currentItem(); + if (item && m_effectsList->indexOfTopLevelItem(item)!=-1){ + item->setExpanded(!item->isExpanded()); + } if (!effect.isNull()) emit addEffect(effect); } @@ -183,10 +184,10 @@ void EffectsListView::slotUpdateSearch(QTreeWidgetItem *item, bool hidden) } } -void EffectsListView::slotAutoExpand(QString text) +void EffectsListView::slotAutoExpand(const QString &text) { search_effect->updateSearch(); - + bool selected = false; for (int i = 0; i < m_effectsList->topLevelItemCount(); ++i) { QTreeWidgetItem *folder = m_effectsList->topLevelItem(i); bool expandFolder = false; @@ -195,12 +196,23 @@ void EffectsListView::slotAutoExpand(QString text) if (!text.isEmpty()) { for (int j = 0; j < folder->childCount(); j++) { QTreeWidgetItem *item = folder->child(j); - if (!item->isHidden()) + if (!item->isHidden()) { expandFolder = true; + if (!selected) { + m_effectsList->setCurrentItem(item); + selected = true; + } + } } } folder->setExpanded(expandFolder); } + if (!selected) m_effectsList->setCurrentItem(NULL); +} + +void EffectsListView::updatePalette() +{ + m_effectsList->setStyleSheet(m_effectsList->styleSheet()); } #include "effectslistview.moc"