]> git.sesse.net Git - kdenlive/blobdiff - src/kdenlivedoc.h
Fix Qt 4.6 compilation: http://kdenlive.org/mantis/view.php?id=2735
[kdenlive] / src / kdenlivedoc.h
index 958c59cf505611dc1a79220f5a440f2b627e4c31..955aee993f5f120fa2958f475a311386cba9ef24 100644 (file)
@@ -52,7 +52,7 @@ class KdenliveDoc: public QObject
 {
 Q_OBJECT public:
 
-    KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, QString profileName, QMap <QString, QString> properties, const QPoint tracks, Render *render, KTextEdit *notes, bool *openBackup, MainWindow *parent = 0, KProgressDialog *progressDialog = 0);
+    KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, QString profileName, QMap <QString, QString> properties, QMap <QString, QString> metadata, const QPoint &tracks, Render *render, KTextEdit *notes, bool *openBackup, MainWindow *parent = 0, KProgressDialog *progressDialog = 0);
     ~KdenliveDoc();
     QDomNodeList producersList();
     double fps() const;
@@ -83,12 +83,11 @@ Q_OBJECT public:
      *
      * If the clip wasn't added before, it tries to add it to the project. */
     bool addClipInfo(QDomElement elem, QDomElement orig, QString clipId);
-    void slotAddClipFile(const KUrl url, const QString group, const QString &groupId = QString());
-    void slotAddClipList(const KUrl::List urls, const QString group, const QString &groupId = QString());
+    void slotAddClipList(const KUrl::List urls, stringMap data = QMap <QString, QString>());
     void deleteClip(const QString &clipId);
     int getFramePos(QString duration);
     DocClipBase *getBaseClip(const QString &clipId);
-    void updateClip(const QString id);
+    void updateClip(const QString &id);
 
     /** @brief Informs Kdenlive of the audio thumbnails generation progress. */
     void setThumbsProgress(const QString &message, int progress);
@@ -113,9 +112,9 @@ Q_OBJECT public:
     double dar() const;
     double projectDuration() const;
     /** @brief Returns the project file xml. */
-    QDomDocument xmlSceneList(const QString &scene, const QStringList expandedFolders);
+    QDomDocument xmlSceneList(const QString &scene, const QStringList &expandedFolders);
     /** @brief Saves the project file xml to a file. */
-    bool saveSceneList(const QString &path, const QString &scene, const QStringList expandedFolders, bool autosave = false);
+    bool saveSceneList(const QString &path, const QString &scene, const QStringList &expandedFolders, bool autosave = false);
     int tracksCount() const;
     TrackInfo trackInfoAt(int ix) const;
     void insertTrack(int ix, TrackInfo type);
@@ -140,10 +139,8 @@ Q_OBJECT public:
      * The returned duration might differ from the actual track duration!
      * It is the one stored in the track's TrackInfo. */
     int trackDuration(int ix);
-
-    void cachePixmap(const QString &fileId, const QPixmap &pix) const;
+    void cacheImage(const QString &fileId, const QImage &img) const;
     void setProjectFolder(KUrl url);
-    QString getLadspaFile() const;
     void setZone(int start, int end);
     QPoint zone() const;
     int setSceneList();
@@ -156,13 +153,21 @@ Q_OBJECT public:
     void removeTrackEffect(int ix, QDomElement effect);
     void setTrackEffect(int trackIndex, int effectIndex, QDomElement effect);
     const EffectsList getTrackEffects(int ix);
+    /** @brief Enable / disable an effect in Kdenlive's xml list. */
+    void enableTrackEffects(int trackIndex, QList <int> effectIndexes, bool disable);
     QDomElement getTrackEffect(int trackIndex, int effectIndex) const;
+    /** @brief Check if a track already contains a specific effect. */
+    int hasTrackEffect(int trackIndex, const QString &tag, const QString &id) const;
     /** @brief Get a list of folder id's that were opened on last save. */
     QStringList getExpandedFolders();
     /** @brief Read the display ratio from an xml project file. */
     static double getDisplayRatio(const QString &path);
     /** @brief Backup the project file */
     void backupLastSavedVersion(const QString &path);
+    /** @brief Returns the document metadata (author, copyright, ...) */
+    const QMap <QString, QString> metadata() const;
+    /** @brief Set the document metadata (author, copyright, ...) */
+    void setMetadata(const QMap <QString, QString> meta);
     
 private:
     KUrl m_url;
@@ -185,6 +190,7 @@ private:
     /** @brief The project folder, used to store project files (titles, effects...). */
     KUrl m_projectFolder;
     QMap <QString, QString> m_documentProperties;
+    QMap <QString, QString> m_documentMetadata;
 
     QList <TrackInfo> m_tracksList;
     void setNewClipResource(const QString &id, const QString &path);
@@ -207,13 +213,7 @@ private:
 public slots:
     void slotCreateXmlClip(const QString &name, const QDomElement xml, QString group, const QString &groupId);
     void slotCreateColorClip(const QString &name, const QString &color, const QString &duration, QString group, const QString &groupId);
-    void slotCreateSlideshowClipFile(const QString name, const QString path,
-                                     int count, const QString duration,
-                                     const bool loop, const bool crop,
-                                     const bool fade, const QString &luma_duration,
-                                     const QString &luma_file, const int softness,
-                                     const QString &animation, QString group,
-                                     const QString &groupId);
+    void slotCreateSlideshowClipFile(QMap <QString, QString> properties, QString group, const QString &groupId);
     void slotCreateTextClip(QString group, const QString &groupId, const QString &templatePath = QString());
     void slotCreateTextTemplateClip(QString group, const QString &groupId, KUrl path);
 
@@ -221,6 +221,7 @@ public slots:
      * @param mod (optional) true if the document has to be saved */
     void setModified(bool mod = true);
     void checkProjectClips(bool displayRatioChanged = false, bool fpsChanged = false);
+    void slotAddClipFile(const KUrl &url, stringMap data);
 
 private slots:
     void slotAutoSave();
@@ -239,7 +240,7 @@ signals:
     void selectLastAddedClip(const QString &);
     void guidesUpdated();
     /** @brief When creating a backup file, also save a thumbnail of current timeline */
-    void saveTimelinePreview(const QString path);
+    void saveTimelinePreview(const QString &path);
 };
 
 #endif