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 connect(ui.type_combo, SIGNAL(currentIndexChanged(int)), this, SLOT(initList(int)));
32 connect(ui.button_info, SIGNAL(stateChanged(int)), this, SLOT(showInfoPanel(int)));
33 connect(ui.effectlist, SIGNAL(itemSelectionChanged()), this, SLOT(slotUpdateInfo()));
34 connect(ui.effectlist, SIGNAL(doubleClicked(QListWidgetItem *,const QPoint &)), this, SLOT(slotEffectSelected()));
39 void EffectsListView::initList(int pos)
45 names = m_videoList->effectNames();
48 names = m_audioList->effectNames();
51 names = m_customList->effectNames();
54 ui.effectlist->clear();
55 ui.effectlist->addItems(names);
58 void EffectsListView::showInfoPanel(int state)
60 if (state == 0) ui.infopanel->hide();
61 else ui.infopanel->show();
64 void EffectsListView::slotEffectSelected()
66 emit addEffect(ui.type_combo->currentIndex(), ui.effectlist->currentItem()->text());
69 void EffectsListView::slotUpdateInfo()
72 if (ui.type_combo->currentIndex() == 0) {
73 info = m_videoList->getInfo(ui.effectlist->currentItem()->text());
75 else if (ui.type_combo->currentIndex() == 1) {
76 info = m_audioList->getInfo(ui.effectlist->currentItem()->text());
78 if (ui.type_combo->currentIndex() == 2) {
79 info = m_customList->getInfo(ui.effectlist->currentItem()->text());
81 ui.infopanel->setText(info);
84 KListWidget *EffectsListView::listView()
89 #include "effectslistview.moc"