X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=286f8045ed74a818687abe4301c4ab6bc9d8dbb0;hb=8cd7e7b5ab508f07f80eae762b54e7cbc8afa36c;hp=f88939bf0e14328b929f265b06371d1b787a25dd;hpb=4d59dfaf4dc0b4702365ec4a2d8c86ba42a10fb9;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index f88939bf..286f8045 100644 --- a/src/kdenlivedoc.h +++ b/src/kdenlivedoc.h @@ -52,7 +52,7 @@ class KdenliveDoc: public QObject { Q_OBJECT public: - KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, QString profileName, QMap 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, const QString &profileName, const QMap & properties, const QMap & metadata, const QPoint &tracks, Render *render, KTextEdit *notes, bool *openBackup, MainWindow *parent = 0, KProgressDialog *progressDialog = 0); ~KdenliveDoc(); QDomNodeList producersList(); double fps() const; @@ -83,8 +83,7 @@ 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(), const QString &comment = QString()); - void slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId = QString()); + void slotAddClipList(const KUrl::List urls, stringMap data = stringMap()); void deleteClip(const QString &clipId); int getFramePos(QString duration); DocClipBase *getBaseClip(const QString &clipId); @@ -154,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 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 metadata() const; + /** @brief Set the document metadata (author, copyright, ...) */ + void setMetadata(const QMap & meta); private: KUrl m_url; @@ -183,6 +190,7 @@ private: /** @brief The project folder, used to store project files (titles, effects...). */ KUrl m_projectFolder; QMap m_documentProperties; + QMap m_documentMetadata; QList m_tracksList; void setNewClipResource(const QString &id, const QString &path); @@ -205,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 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); @@ -219,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();