]> git.sesse.net Git - kdenlive/blob - src/complexparameter.cpp
[PATCH 2/2] Ensure that all member variables have an m_ prefix
[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     m_ui.setupUi(this);
31     //m_ui.effectlist->horizontalHeader()->setVisible(false);
32     //m_ui.effectlist->verticalHeader()->setVisible(false);
33
34
35     m_ui.buttonLeftRight->setIcon(KIcon("go-next"));//better icons needed
36     m_ui.buttonLeftRight->setToolTip(i18n("Allow horizontal moves"));
37     m_ui.buttonUpDown->setIcon(KIcon("go-up"));
38     m_ui.buttonUpDown->setToolTip(i18n("Allow vertical moves"));
39     m_ui.buttonShowInTimeline->setIcon(KIcon("kmplayer"));
40     m_ui.buttonShowInTimeline->setToolTip(i18n("Show keyframes in timeline"));
41     m_ui.buttonHelp->setIcon(KIcon("help-about"));
42     m_ui.buttonHelp->setToolTip(i18n("Parameter info"));
43     m_ui.buttonNewPoints->setIcon(KIcon("document-new"));
44     m_ui.buttonNewPoints->setToolTip(i18n("Add keyframe"));
45
46     connect(m_ui.buttonLeftRight, SIGNAL(clicked()), this , SLOT(slotSetMoveX()));
47     connect(m_ui.buttonUpDown, SIGNAL(clicked()), this , SLOT(slotSetMoveY()));
48     connect(m_ui.buttonShowInTimeline, SIGNAL(clicked()), this , SLOT(slotShowInTimeline()));
49     connect(m_ui.buttonNewPoints, SIGNAL(clicked()), this , SLOT(slotSetNew()));
50     connect(m_ui.buttonHelp, SIGNAL(clicked()), this , SLOT(slotSetHelp()));
51     connect(m_ui.parameterList, SIGNAL(currentIndexChanged(const QString &)), this, SLOT(slotParameterChanged(const QString&)));
52     //connect (m_ui.effectlist, SIGNAL (itemSelectionChanged() ) , this, SLOT ( itemSelectionChanged()));
53     connect(this, SIGNAL(transferParamDesc(const QDomElement&, const QString&, int , int)), m_ui.kplotwidget, SLOT(setPointLists(const QDomElement&, const QString&, int , int)));
54     connect(m_ui.kplotwidget, SIGNAL(parameterChanged(QDomElement)), this , SLOT(slotUpdateEffectParams(QDomElement)));
55     connect(m_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     m_ui.infoBox->hide();
61     updateButtonStatus();
62
63 }
64
65
66
67 void ComplexParameter::slotSetMoveX()
68 {
69     m_ui.kplotwidget->setMoveX(!m_ui.kplotwidget->isMoveX());
70     updateButtonStatus();
71 }
72
73 void ComplexParameter::slotSetMoveY()
74 {
75     m_ui.kplotwidget->setMoveY(!m_ui.kplotwidget->isMoveY());
76     updateButtonStatus();
77 }
78
79 void ComplexParameter::slotSetNew()
80 {
81     m_ui.kplotwidget->setNewPoints(!m_ui.kplotwidget->isNewPoints());
82     updateButtonStatus();
83 }
84
85 void ComplexParameter::slotSetHelp()
86 {
87     m_ui.infoBox->setVisible(!m_ui.infoBox->isVisible());
88     m_ui.buttonHelp->setDown(m_ui.infoBox->isVisible());
89 }
90
91 void ComplexParameter::slotShowInTimeline()
92 {
93
94     m_ui.kplotwidget->setMoveTimeLine(!m_ui.kplotwidget->isMoveTimeline());
95     updateButtonStatus();
96
97 }
98
99 void ComplexParameter::updateButtonStatus()
100 {
101     m_ui.buttonLeftRight->setDown(m_ui.kplotwidget->isMoveX());
102     m_ui.buttonUpDown->setDown(m_ui.kplotwidget->isMoveY());
103
104     m_ui.buttonShowInTimeline->setEnabled(m_ui.kplotwidget->isMoveX() || m_ui.kplotwidget->isMoveY());
105     m_ui.buttonShowInTimeline->setDown(m_ui.kplotwidget->isMoveTimeline());
106
107     m_ui.buttonNewPoints->setEnabled(m_ui.parameterList->currentText() != "all");
108     m_ui.buttonNewPoints->setDown(m_ui.kplotwidget->isNewPoints());
109 }
110
111 void ComplexParameter::slotParameterChanged(const QString& text)
112 {
113
114     //m_ui.buttonNewPoints->setEnabled(text!="all");
115     m_ui.kplotwidget->replot(text);
116     updateButtonStatus();
117 }
118
119 void ComplexParameter::setupParam(const QDomElement& d, const QString& paramName, int from, int to)
120 {
121     m_param = d;
122     m_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     m_param = e;
133     emit parameterChanged();
134 }
135
136 QDomElement ComplexParameter::getParamDesc()
137 {
138     return m_param;
139 }
140
141 void ComplexParameter::slotUpdateParameterList(QStringList l)
142 {
143     kDebug() << l ;
144     m_ui.parameterList->clear();
145     m_ui.parameterList->addItem("all");
146     m_ui.parameterList->addItems(l);
147 }
148
149 #include "complexparameter.moc"