]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.h
const'ref
[kdenlive] / src / mainwindow.h
index 91ddcc2636d0c6782548bb22b4f0d7405865c0fe..6b0f711aa7759dffaf4a6e3dd1137e99a9de5ba8 100644 (file)
@@ -28,6 +28,9 @@
 #include <QEvent>
 #include <QTimer>
 #include <QShortcut>
+#include <QMap>
+#include <QString>
+#include <QImage>
 
 #include <KXmlGuiWindow>
 #include <KTextEdit>
@@ -58,7 +61,6 @@ class EffectStackView2;
 class TransitionSettings;
 class Monitor;
 class RecMonitor;
-class CustomTrackView;
 class RenderWidget;
 #ifdef USE_JOGSHUTTLE
 class JogShuttle;
@@ -74,7 +76,6 @@ class Waveform;
 class RGBParade;
 class KActionCollection;
 class AudioSignal;
-class AbstractAudioScopeWidget;
 class AudioSpectrum;
 class Spectrogram;
 
@@ -109,6 +110,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.
@@ -197,7 +202,7 @@ private:
     QUndoView *m_undoView;
     QUndoGroup *m_commandStack;
 
-    KComboBox *m_timecodeFormat;
+    KSelectAction *m_timeFormatButton;
 
     /** This list holds all the scopes used in Kdenlive, allowing to manage some global settings */
     QList <QDockWidget *> m_gfxScopesList;
@@ -298,7 +303,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,7 +316,8 @@ 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);
 
@@ -320,7 +326,7 @@ public slots:
     *
     * 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);
@@ -357,6 +363,7 @@ private slots:
     void slotConnectMonitors();
     void slotUpdateClip(const QString &id);
     void slotUpdateMousePosition(int pos);
+    void slotUpdateProjectDuration(int pos);
     void slotAddEffect(const QDomElement effect);
     void slotEditProfiles();
     void slotDetectAudioDriver();
@@ -418,7 +425,7 @@ 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);
@@ -478,7 +485,7 @@ 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();
@@ -490,12 +497,12 @@ private slots:
     void slotUpdateClipType(QAction *action);
     void slotShowTimeline(bool show);
     void slotMaximizeCurrent(bool show);
-    void slotTranscode(KUrl::List urls = KUrl::List());
-    void slotStabilize();
+    void slotTranscode(const KUrl::List &urls = KUrl::List());
+    void slotStartClipAction();
     void slotTranscodeClip();
     /** @brief Archive project: creates a copy of the project file with all clips in a new folder. */
     void slotArchiveProject();
-    void slotSetDocumentRenderProfile(QMap <QString, QString> props);
+    void slotSetDocumentRenderProfile(const QMap<QString, QString> &props);
     void slotPrepareRendering(bool scriptExport, bool zoneOnly, const QString &chapterFile);
 
     /** @brief Switches between displaying frames or timecode.
@@ -547,7 +554,7 @@ private slots:
     /** @brief Insert current project's timecode into the notes widget. */
     void slotInsertNotesTimecode();
     /** @brief Open the project's backupdialog. */
-    void slotOpenBackupDialog(const KUrl url = KUrl());
+    void slotOpenBackupDialog(const KUrl &url = KUrl());
     /** @brief Disable proxies for this project. */
     void slotDisableProxies();
 
@@ -558,6 +565,14 @@ private slots:
     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();
+    /** @brief Set MLT's consumer deinterlace method */
+    void slotSetDeinterlacer(int ix);
+    /** @brief Set MLT's consumer interpolation method */
+    void slotSetInterpolation(int ix);
 
 signals:
     Q_SCRIPTABLE void abortRenderJob(const QString &url);