X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=3392519afc8bfba011ae6773dff2689ec44089fa;hb=0395e7c3844190b0453f6eeb7945606a5b43709d;hp=ad9b7a82e44778ad5a12528a735212c4b917bb53;hpb=a0ea9695750c8309cc81fe9a9fd2e2549d20e1a0;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index ad9b7a82..3392519a 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, const QPoint tracks, Render *render, KTextEdit *notes, MainWindow *parent = 0, KProgressDialog *progressDialog = 0); + KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, QString profileName, QMap properties, const QPoint tracks, Render *render, KTextEdit *notes, MainWindow *parent = 0, KProgressDialog *progressDialog = 0); ~KdenliveDoc(); QDomNodeList producersList(); double fps() const; @@ -112,7 +112,10 @@ Q_OBJECT public: QPoint zoom() const; double dar() const; double projectDuration() const; - bool saveSceneList(const QString &path, const QString &scene); + /** @brief Returns the project file xml. */ + 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); int tracksCount() const; TrackInfo trackInfoAt(int ix) const; void insertTrack(int ix, TrackInfo type); @@ -126,13 +129,24 @@ Q_OBJECT public: void switchTrackVideo(int ix, bool hide); void switchTrackAudio(int ix, bool hide); void switchTrackLock(int ix, bool lock); + bool isTrackLocked(int ix) const; + + /** @brief Sets the duration of track @param ix to @param duration. + * This does not! influence the actual track but only the value in its TrackInfo. */ + void setTrackDuration(int ix, int duration); + + /** @brief Returns the duration of track @param ix. + * + * 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 setProjectFolder(KUrl url); QString getLadspaFile() const; void setZone(int start, int end); QPoint zone() const; int setSceneList(); - bool isTrackLocked(int ix) const; void setDocumentProperty(const QString &name, const QString &value); const QString getDocumentProperty(const QString &name) const; @@ -143,7 +157,11 @@ Q_OBJECT public: void setTrackEffect(int trackIndex, int effectIndex, QDomElement effect); const EffectsList getTrackEffects(int ix); QDomElement getTrackEffect(int trackIndex, int effectIndex) 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); + private: KUrl m_url; QDomDocument m_document; @@ -198,7 +216,7 @@ public slots: /** @brief Sets the document as modified or up to date. * @param mod (optional) true if the document has to be saved */ void setModified(bool mod = true); - void checkProjectClips(); + void checkProjectClips(bool displayRatioChanged = false); private slots: void slotAutoSave(); @@ -208,7 +226,6 @@ signals: void addProjectClip(DocClipBase *, bool getInfo = true); void signalDeleteProjectClip(const QString &); void updateClipDisplay(const QString&); - void deleteTimelineClip(const QString&); void progressInfo(const QString &, int); /** @brief Informs that the document status has been changed.