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 connect(ui.type_combo, SIGNAL(currentIndexChanged(int)), this, SLOT(initList(int)));
33 connect(ui.button_info, SIGNAL(stateChanged(int)), this, SLOT(showInfoPanel(int)));
34 connect(ui.effectlist, SIGNAL(itemSelectionChanged()), this, SLOT(slotUpdateInfo()));
35 connect(ui.effectlist, SIGNAL(doubleClicked(QListWidgetItem *,const QPoint &)), this, SLOT(slotEffectSelected()));
40 void EffectsListView::initList(int pos)
46 names = m_videoList->effectNames();
49 names = m_audioList->effectNames();
52 names = m_customList->effectNames();
55 ui.effectlist->clear();
56 ui.effectlist->addItems(names);
59 void EffectsListView::showInfoPanel(int state)
61 if (state == 0) ui.infopanel->hide();
62 else ui.infopanel->show();
65 void EffectsListView::slotEffectSelected()
67 emit addEffect(ui.type_combo->currentIndex(), ui.effectlist->currentItem()->text());
70 void EffectsListView::slotUpdateInfo()
73 if (ui.type_combo->currentIndex() == 0) {
74 info = m_videoList->getInfo(ui.effectlist->currentItem()->text());
76 else if (ui.type_combo->currentIndex() == 1) {
77 info = m_audioList->getInfo(ui.effectlist->currentItem()->text());
79 if (ui.type_combo->currentIndex() == 2) {
80 info = m_customList->getInfo(ui.effectlist->currentItem()->text());
82 ui.infopanel->setText(info);
85 KListWidget *EffectsListView::listView()
90 #include "effectslistview.moc"