1 /***************************************************************************
2 * Copyright (C) 2007 by Jean-Baptiste Mardelle (jb@kdenlive.org) *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
18 ***************************************************************************/
24 #include "effectslistview.h"
26 EffectsListView::EffectsListView(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *customEffectList, QWidget *parent)
27 : QWidget(parent), m_audioList(audioEffectList), m_videoList(videoEffectList), m_customList(customEffectList)
31 ui.search_effect->setListWidget(ui.effectlist);
32 ui.buttonInfo->setIcon(KIcon("help-about"));
34 connect(ui.type_combo, SIGNAL(currentIndexChanged(int)), this, SLOT(initList(int)));
35 connect (ui.buttonInfo, SIGNAL (clicked()), this, SLOT (showInfoPanel()));
36 connect(ui.effectlist, SIGNAL(itemSelectionChanged()), this, SLOT(slotUpdateInfo()));
37 connect(ui.effectlist, SIGNAL(doubleClicked(QListWidgetItem *,const QPoint &)), this, SLOT(slotEffectSelected()));
39 ui.effectlist->setCurrentRow(0);
42 void EffectsListView::initList(int pos)
48 names = m_videoList->effectNames();
51 names = m_audioList->effectNames();
54 names = m_customList->effectNames();
57 ui.effectlist->clear();
58 ui.effectlist->addItems(names);
61 void EffectsListView::showInfoPanel()
63 if (ui.infopanel->isVisible()) {
65 ui.buttonInfo->setDown(false);
69 ui.buttonInfo->setDown(true);
73 void EffectsListView::slotEffectSelected()
76 switch (ui.type_combo->currentIndex())
79 effect = m_videoList->getEffectByName(ui.effectlist->currentItem()->text());
82 effect = m_audioList->getEffectByName(ui.effectlist->currentItem()->text());
85 effect = m_customList->getEffectByName(ui.effectlist->currentItem()->text());
88 emit addEffect(effect);
91 void EffectsListView::slotUpdateInfo()
94 if (ui.type_combo->currentIndex() == 0) {
95 info = m_videoList->getInfo(ui.effectlist->currentItem()->text());
97 else if (ui.type_combo->currentIndex() == 1) {
98 info = m_audioList->getInfo(ui.effectlist->currentItem()->text());
100 else if (ui.type_combo->currentIndex() == 2) {
101 info = m_customList->getInfo(ui.effectlist->currentItem()->text());
103 ui.infopanel->setText(info);
106 KListWidget *EffectsListView::listView()
108 return ui.effectlist;
111 #include "effectslistview.moc"