#include <QEvent>
#include <QTimer>
#include <QShortcut>
+#include <QMap>
+#include <QString>
+#include <QImage>
#include <KXmlGuiWindow>
#include <KTextEdit>
class ProjectList;
class EffectsListView;
class EffectStackView;
+class EffectStackView2;
class TransitionSettings;
class Monitor;
class RecMonitor;
static EffectsList audioEffects;
static EffectsList customEffects;
static EffectsList transitions;
+
+ /** @brief Cache for luma files thumbnails. */
+ static QMap <QString,QImage> m_lumacache;
+
protected:
/** @brief Closes the window.
NotesWidget *m_notesWidget;
QDockWidget *m_effectStackDock;
- EffectStackView *m_effectStack;
+ EffectStackView2 *m_effectStack;
QDockWidget *m_transitionConfigDock;
TransitionSettings *m_transitionConfig;
QStringList m_pluginFileNames;
QByteArray m_timelineState;
void loadTranscoders();
- void loadStabilize();
+ void loadClipActions();
QPixmap createSchemePreviewIcon(const KSharedConfigPtr &config);
/** @brief Checks that the Kdenlive mime type is correctly installed.
StopmotionWidget *m_stopmotion;
QTime m_timer;
+ /** @brief The last selected clip in timeline. */
+ ClipItem *m_mainClip;
+ /** @brief Update statusbar stylesheet (in case of color theme change). */
+ void setStatusBarStyleSheet(const QPalette &p);
public slots:
/** @brief Prepares opening @param url.
void slotSelectAddTimelineTransition();
void slotAddVideoEffect(QAction *result);
void slotAddTransition(QAction *result);
- void slotAddProjectClip(KUrl url, const QString &comment = QString());
+ void slotAddProjectClip(KUrl url, stringMap data = stringMap());
void slotAddProjectClipList(KUrl::List urls);
void slotShowClipProperties(DocClipBase *clip);
void slotShowClipProperties(QList <DocClipBase *>cliplist, QMap<QString, QString> commonproperties);
- void slotActivateEffectStackView(ClipItem* item = NULL, int ix = -1, bool raise = true);
+ void slotTimelineClipSelected(ClipItem* item, bool raise = true);
+ void slotTrackSelected(int index, TrackInfo info, bool raise = true);
void slotActivateTransitionView(Transition *);
void slotChangeTool(QAction * action);
void slotChangeEdit(QAction * action);
void slotClipInProjectTree();
//void slotClipToProjectTree();
void slotSplitAudio();
+ void slotSetAudioAlignReference();
+ void slotAlignAudio();
void slotUpdateClipType(QAction *action);
void slotShowTimeline(bool show);
void slotMaximizeCurrent(bool show);
void slotTranscode(KUrl::List urls = KUrl::List());
- void slotStabilize();
+ void slotStartClipAction();
void slotTranscodeClip();
/** @brief Archive project: creates a copy of the project file with all clips in a new folder. */
void slotArchiveProject();
void slotElapsedTime();
/** @brief Open the online services search dialog. */
void slotDownloadResources();
+
+ void slotChangePalette();
+ /** @brief Save current timeline clip as mlt playlist. */
+ void slotSaveTimelineClip();
+ /** @brief Process keyframe data sent from a clip to effect / transition stack. */
+ void slotProcessImportKeyframes(GRAPHICSRECTITEM type, const QString& data);
+ /** @brief Move playhead to mouse curser position if p key is pressed */
+ void slotOnPlayheadKeyPressed();
signals:
Q_SCRIPTABLE void abortRenderJob(const QString &url);