]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.h
Merge branch 'master' into feature/pkey
[kdenlive] / src / mainwindow.h
index 21e3b03935d6485b78114ce868a6451efe8fd089..acba2873dcc8e3dfa3ed21188db0b26c82b2eb36 100644 (file)
@@ -28,6 +28,9 @@
 #include <QEvent>
 #include <QTimer>
 #include <QShortcut>
+#include <QMap>
+#include <QString>
+#include <QImage>
 
 #include <KXmlGuiWindow>
 #include <KTextEdit>
@@ -109,6 +112,10 @@ public:
     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.
@@ -298,7 +305,7 @@ private:
     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.
@@ -311,13 +318,17 @@ private:
 
     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.
     *
     * Checks if already open and whether backup exists */
     void openFile(const KUrl &url);
-    void slotGotProgressInfo(const QString &message, int progress);
+    void slotGotProgressInfo(const QString &message, int progress, MessageType type = DefaultMessage);
     void slotReloadEffects();
     Q_SCRIPTABLE void setRenderingProgress(const QString &url, int progress);
     Q_SCRIPTABLE void setRenderingFinished(const QString &url, int status, const QString &error);
@@ -415,11 +426,12 @@ private slots:
     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);
@@ -474,18 +486,20 @@ private slots:
     /** @brief Lets the sampleplugin create a generator.  */
     void generateClip();
     void slotZoneMoved(int start, int end);
-    void slotDvdWizard(const QString &url = QString(), const QString &profile = "dv_pal");
+    void slotDvdWizard(const QString &url = QString());
     void slotGroupClips();
     void slotUnGroupClips();
     void slotEditItemDuration();
     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();
@@ -548,6 +562,14 @@ private slots:
     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, int maximum);
+    /** @brief Move playhead to mouse curser position if defined key is pressed */
+    void slotAlignPlayheadToMousePos();
 
 signals:
     Q_SCRIPTABLE void abortRenderJob(const QString &url);