]> git.sesse.net Git - kdenlive/blob - src/transitionsettings.h
998045057d25eaeba706cd36e18965ac269c3de6
[kdenlive] / src / transitionsettings.h
1 /***************************************************************************
2                           effecstackedit.h  -  description
3                              -------------------
4     begin                : Mar 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 #ifndef TRANSITIONSETTINGS_H
18 #define TRANSITIONSETTINGS_H
19
20 #include <QDomElement>
21
22 #include "ui_transitionsettings_ui.h"
23 #include "definitions.h"
24
25 class Timecode;
26 class Transition;
27 class EffectsList;
28 class EffectStackEdit;
29
30 class TransitionSettings : public QWidget, public Ui::TransitionSettings_UI
31 {
32     Q_OBJECT
33
34 public:
35     TransitionSettings(QWidget* parent = 0);
36     void raiseWindow(QWidget*);
37     void updateProjectFormat(MltVideoProfile profile, Timecode t, const QList <TrackInfo> info);
38     void updateTimecodeFormat();
39
40 private:
41     EffectStackEdit *m_effectEdit;
42     Transition* m_usedTransition;
43     GenTime m_transitionDuration;
44     GenTime m_transitionStart;
45     int m_autoTrackTransition;
46     QList <TrackInfo> m_tracks;
47     void updateTrackList();
48
49 public slots:
50     void slotTransitionItemSelected(Transition* t, int nextTrack, QPoint p, bool update);
51     void slotTransitionChanged(bool reinit = true, bool updateCurrent = false);
52     void slotUpdateEffectParams(const QDomElement&, const QDomElement&);
53
54 private slots:
55
56     /** @brief Sets the new B track for the transition (automatic or forced). */
57     void slotTransitionTrackChanged();
58
59 signals:
60     void transitionUpdated(Transition *, QDomElement);
61     void seekTimeline(int);
62 };
63
64 #endif