4 #include "effectstackview.h"
7 EffectStackView::EffectStackView( QWidget *parent)
11 //ui.effectlist->horizontalHeader()->setVisible(false);
12 //ui.effectlist->verticalHeader()->setVisible(false);
15 connect (ui.effectlist, SIGNAL ( itemSelectionChanged()), this , SLOT( slotItemSelectionChanged() ));
16 connect (ui.buttonUp, SIGNAL (clicked()), this, SLOT (slotItemUp()) );
17 connect (ui.buttonDown, SIGNAL (clicked()), this, SLOT (slotItemDown()) );
18 connect (ui.buttonDel, SIGNAL (clicked()), this, SLOT (slotItemDel()) );
21 void EffectStackView::slotClipItemSelected(ClipItem* c)
26 effects=clipref->effectNames();
27 setupListView(effects);
31 void EffectStackView::setupListView(const QStringList& effects_list){
33 ui.effectlist->clear();
34 ui.effectlist->addItems(effects);
35 for (int i=0;i< ui.effectlist->count();i++){
36 QListWidgetItem* item=ui.effectlist->item(i);
37 item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsDragEnabled|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);
38 item->setCheckState(Qt::Checked);
40 item->setSelected(true);
45 void EffectStackView::slotItemSelectionChanged(){
47 if (ui.effectlist->currentItem() && ui.effectlist->currentItem()->isSelected() ){
48 activeRow=ui.effectlist->row( ui.effectlist->currentItem() );
52 ui.buttonDel->setEnabled( activeRow!=-1);
53 ui.buttonUp->setEnabled( activeRow >0 );
54 ui.buttonDown->setEnabled( (activeRow<ui.effectlist->count()-1) && activeRow>=0 );
57 void EffectStackView::slotItemUp(){
58 if (activeRow>0 && activeRow <effects.size() ){
59 effects.swap(activeRow, activeRow-1);
62 setupListView(effects);
66 void EffectStackView::slotItemDown(){
67 if (activeRow<effects.size()-1 ){
68 effects.swap(activeRow, activeRow+1);
71 setupListView(effects);
75 void EffectStackView::slotItemDel(){
76 if (activeRow<effects.size() && activeRow>=0 ){
77 effects.removeAt(activeRow);
79 if (effects.size()>0 && activeRow>0)
81 setupListView(effects);
85 #include "effectstackview.moc"