for (int i = 0; i < itemList.count(); i++) {
if (itemList.at(i)->type() == AVWIDGET) {
ClipItem *clip = static_cast<ClipItem *>(itemList.at(i));
+ clip->setSelectedEffect(clip->effectsCount() - 1);
if (!clip->isSelected()) {
clearSelection(false);
clip->setSelected(true);
+ emit clipItemSelected(clip, clip->selectedEffectIndex());
}
- clip->setSelectedEffect(clip->effectsCount() - 1);
- //emit clipItemSelected(clip, clip->selectedEffectIndex());
break;
}
}
#include <QMenu>
#include <QDir>
+
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} \
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(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::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);
}
void EffectsListView::slotAutoExpand(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;
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);
}
#include "effectslistview.moc"
QDomElement effect;
if (!item || item->data(0, TypeRole).toInt() == (int)EFFECT_FOLDER) return effect;
QStringList effectInfo = item->data(0, IdRole).toStringList();
- kDebug() << "// EFFECT SELECTED: " << effectInfo;
switch (item->data(0, TypeRole).toInt()) {
case 1:
effect = MainWindow::videoEffects.getEffectByTag(effectInfo.at(0), effectInfo.at(1)).cloneNode().toElement();
return info;
}
+//virtual
+void EffectsListWidget::keyPressEvent(QKeyEvent *e)
+{
+ if (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return) {
+ emit applyEffect(currentEffect());
+ }
+ QTreeWidget::keyPressEvent(e);
+}
+
//virtual
QMimeData * EffectsListWidget::mimeData(const QList<QTreeWidgetItem *> list) const
{