]> git.sesse.net Git - kdenlive/blob - src/complexparameter.cpp
used old keyframewidget for setup /scrollarea for parameters
[kdenlive] / src / complexparameter.cpp
1 /***************************************************************************
2                           complexparameter.cpp  -  description
3                              -------------------
4     begin                : Feb 15 2008
5     copyright            : (C) 2008 by Marco Gittler
6     email                : g.marco@freenet.de
7  ***************************************************************************/
8
9 /***************************************************************************
10  *                                                                         *
11  *   This program is free software; you can redistribute it and/or modify  *
12  *   it under the terms of the GNU General Public License as published by  *
13  *   the Free Software Foundation; either version 2 of the License, or     *
14  *   (at your option) any later version.                                   *
15  *                                                                         *
16  ***************************************************************************/
17
18 #include <KDebug>
19 #include <KLocale>
20
21 #include "complexparameter.h"
22 #include "effectslist.h"
23 #include "clipitem.h"
24 #include <QHeaderView>
25 #include <QMenu>
26
27 ComplexParameter::ComplexParameter(QWidget *parent)
28 : QWidget(parent)
29 {
30         ui.setupUi(this);
31         //ui.effectlist->horizontalHeader()->setVisible(false);
32         //ui.effectlist->verticalHeader()->setVisible(false);
33         activeRow=-1;
34         clipref=NULL;
35
36         
37         ui.buttonLeftRight->setIcon(KIcon("go-next"));//better icons needed
38         ui.buttonLeftRight->setToolTip(i18n("Allow horizontal moves"));
39         ui.buttonUpDown->setIcon(KIcon("go-up"));
40         ui.buttonUpDown->setToolTip(i18n("Allow vertical moves"));
41         ui.buttonShowInTimeline->setIcon(KIcon("kmplayer"));
42         ui.buttonShowInTimeline->setToolTip(i18n("Show keyframes in timeline"));
43         ui.buttonHelp->setIcon(KIcon("help-about"));
44         ui.buttonHelp->setToolTip(i18n("Parameter info"));
45         ui.buttonNewPoints->setIcon(KIcon("xedit"));
46         ui.buttonNewPoints->setToolTip(i18n("Add keyframe"));
47         
48         connect (ui.buttonLeftRight, SIGNAL (clicked()), this , SLOT ( slotSetMoveX() ) );
49         connect (ui.buttonUpDown, SIGNAL (clicked()), this , SLOT ( slotSetMoveY() ) );
50         connect (ui.buttonShowInTimeline, SIGNAL (clicked()), this , SLOT ( slotShowInTimeline() ) );
51         connect (ui.buttonNewPoints, SIGNAL (clicked()), this , SLOT ( slotSetNew() ) );
52         connect (ui.buttonHelp, SIGNAL (clicked()), this , SLOT ( slotSetHelp() ) );
53         connect (ui.parameterList, SIGNAL (currentIndexChanged ( const QString &  ) ), this, SLOT( slotParameterChanged(const QString&) ) );
54         //connect (ui.effectlist, SIGNAL (itemSelectionChanged() ) , this, SLOT ( itemSelectionChanged()));
55         connect( this,SIGNAL (transferParamDesc(const QDomElement&,int ,int) ), ui.kplotwidget, SLOT(setPointLists(const QDomElement&,int ,int) ));
56         connect(ui.kplotwidget, SIGNAL (parameterChanged(QDomElement ) ), this , SLOT (slotUpdateEffectParams(QDomElement)));
57         /*ÜeffectLists["audio"]=audioEffectList;
58         effectLists["video"]=videoEffectList;
59         effectLists["custom"]=customEffectList;*/
60         
61         ui.infoBox->hide();     
62         updateButtonStatus();
63         
64 }
65
66
67
68 void ComplexParameter::slotSetMoveX(){
69         ui.kplotwidget->setMoveX(!ui.kplotwidget->isMoveX());
70         updateButtonStatus();
71 }
72
73 void ComplexParameter::slotSetMoveY(){
74         ui.kplotwidget->setMoveY(!ui.kplotwidget->isMoveY());
75         updateButtonStatus();
76 }
77
78 void ComplexParameter::slotSetNew(){
79         ui.kplotwidget->setNewPoints(!ui.kplotwidget->isNewPoints());
80         updateButtonStatus();
81 }
82
83 void ComplexParameter::slotSetHelp(){
84         ui.infoBox->setVisible(!ui.infoBox->isVisible());
85         ui.buttonHelp->setDown(ui.infoBox->isVisible());
86 }
87
88 void ComplexParameter::slotShowInTimeline(){
89
90         ui.kplotwidget->setMoveTimeLine(!ui.kplotwidget->isMoveTimeline());
91         updateButtonStatus();
92         
93 }
94
95 void ComplexParameter::updateButtonStatus(){
96         ui.buttonLeftRight->setDown(ui.kplotwidget->isMoveX());
97         ui.buttonUpDown->setDown(ui.kplotwidget->isMoveY());
98         
99         ui.buttonShowInTimeline->setEnabled( ui.kplotwidget->isMoveX() || ui.kplotwidget->isMoveY ()  );
100         ui.buttonShowInTimeline->setDown(ui.kplotwidget->isMoveTimeline());
101         
102         ui.buttonNewPoints->setEnabled(ui.parameterList->currentText()!="all");
103         ui.buttonNewPoints->setDown(ui.kplotwidget->isNewPoints());
104 }
105
106 void ComplexParameter::slotParameterChanged(const QString& text){
107         
108         //ui.buttonNewPoints->setEnabled(text!="all");
109         ui.kplotwidget->replot(text);
110         updateButtonStatus();
111 }
112
113
114 void ComplexParameter::itemSelectionChanged (){
115         //kDebug() << "drop";
116 }
117 #include "complexparameter.moc"