]> git.sesse.net Git - kdenlive/blob - src/complexparameter.cpp
[PATCH 1/2] Kill a bunch of unused member variables
[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 "complexparameter.h"
19
20 #include <KDebug>
21 #include <KLocale>
22
23
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
34
35     ui.buttonLeftRight->setIcon(KIcon("go-next"));//better icons needed
36     ui.buttonLeftRight->setToolTip(i18n("Allow horizontal moves"));
37     ui.buttonUpDown->setIcon(KIcon("go-up"));
38     ui.buttonUpDown->setToolTip(i18n("Allow vertical moves"));
39     ui.buttonShowInTimeline->setIcon(KIcon("kmplayer"));
40     ui.buttonShowInTimeline->setToolTip(i18n("Show keyframes in timeline"));
41     ui.buttonHelp->setIcon(KIcon("help-about"));
42     ui.buttonHelp->setToolTip(i18n("Parameter info"));
43     ui.buttonNewPoints->setIcon(KIcon("document-new"));
44     ui.buttonNewPoints->setToolTip(i18n("Add keyframe"));
45
46     connect(ui.buttonLeftRight, SIGNAL(clicked()), this , SLOT(slotSetMoveX()));
47     connect(ui.buttonUpDown, SIGNAL(clicked()), this , SLOT(slotSetMoveY()));
48     connect(ui.buttonShowInTimeline, SIGNAL(clicked()), this , SLOT(slotShowInTimeline()));
49     connect(ui.buttonNewPoints, SIGNAL(clicked()), this , SLOT(slotSetNew()));
50     connect(ui.buttonHelp, SIGNAL(clicked()), this , SLOT(slotSetHelp()));
51     connect(ui.parameterList, SIGNAL(currentIndexChanged(const QString &)), this, SLOT(slotParameterChanged(const QString&)));
52     //connect (ui.effectlist, SIGNAL (itemSelectionChanged() ) , this, SLOT ( itemSelectionChanged()));
53     connect(this, SIGNAL(transferParamDesc(const QDomElement&, const QString&, int , int)), ui.kplotwidget, SLOT(setPointLists(const QDomElement&, const QString&, int , int)));
54     connect(ui.kplotwidget, SIGNAL(parameterChanged(QDomElement)), this , SLOT(slotUpdateEffectParams(QDomElement)));
55     connect(ui.kplotwidget, SIGNAL(parameterList(QStringList)), this , SLOT(slotUpdateParameterList(QStringList)));
56     /*ÜeffectLists["audio"]=audioEffectList;
57     effectLists["video"]=videoEffectList;
58     effectLists["custom"]=customEffectList;*/
59     setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
60     ui.infoBox->hide();
61     updateButtonStatus();
62
63 }
64
65
66
67 void ComplexParameter::slotSetMoveX()
68 {
69     ui.kplotwidget->setMoveX(!ui.kplotwidget->isMoveX());
70     updateButtonStatus();
71 }
72
73 void ComplexParameter::slotSetMoveY()
74 {
75     ui.kplotwidget->setMoveY(!ui.kplotwidget->isMoveY());
76     updateButtonStatus();
77 }
78
79 void ComplexParameter::slotSetNew()
80 {
81     ui.kplotwidget->setNewPoints(!ui.kplotwidget->isNewPoints());
82     updateButtonStatus();
83 }
84
85 void ComplexParameter::slotSetHelp()
86 {
87     ui.infoBox->setVisible(!ui.infoBox->isVisible());
88     ui.buttonHelp->setDown(ui.infoBox->isVisible());
89 }
90
91 void ComplexParameter::slotShowInTimeline()
92 {
93
94     ui.kplotwidget->setMoveTimeLine(!ui.kplotwidget->isMoveTimeline());
95     updateButtonStatus();
96
97 }
98
99 void ComplexParameter::updateButtonStatus()
100 {
101     ui.buttonLeftRight->setDown(ui.kplotwidget->isMoveX());
102     ui.buttonUpDown->setDown(ui.kplotwidget->isMoveY());
103
104     ui.buttonShowInTimeline->setEnabled(ui.kplotwidget->isMoveX() || ui.kplotwidget->isMoveY());
105     ui.buttonShowInTimeline->setDown(ui.kplotwidget->isMoveTimeline());
106
107     ui.buttonNewPoints->setEnabled(ui.parameterList->currentText() != "all");
108     ui.buttonNewPoints->setDown(ui.kplotwidget->isNewPoints());
109 }
110
111 void ComplexParameter::slotParameterChanged(const QString& text)
112 {
113
114     //ui.buttonNewPoints->setEnabled(text!="all");
115     ui.kplotwidget->replot(text);
116     updateButtonStatus();
117 }
118
119 void ComplexParameter::setupParam(const QDomElement& d, const QString& paramName, int from, int to)
120 {
121     param = d;
122     ui.kplotwidget->setPointLists(d, paramName, from, to);
123 }
124
125 void ComplexParameter::itemSelectionChanged()
126 {
127     //kDebug() << "drop";
128 }
129
130 void ComplexParameter::slotUpdateEffectParams(QDomElement e)
131 {
132     param = e;
133     emit parameterChanged();
134 }
135
136 QDomElement ComplexParameter::getParamDesc()
137 {
138     return param;
139 }
140
141 void ComplexParameter::slotUpdateParameterList(QStringList l)
142 {
143     kDebug() << l ;
144     ui.parameterList->clear();
145     ui.parameterList->addItem("all");
146     ui.parameterList->addItems(l);
147 }
148
149 #include "complexparameter.moc"