X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=9bd3ef5802d8ebc78cd8b87c06de2dc55ab4e7b1;hb=7560d0d9549a7c750b92ce2e004c41e921c99f83;hp=806bb4f2798d3c5dbb13027187a20b2b7474b11d;hpb=c60577adb3b7427f8a39acb35d6e7577b6c67130;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index 806bb4f2..9bd3ef58 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, 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, bool *openBackup, MainWindow *parent = 0, KProgressDialog *progressDialog = 0); ~KdenliveDoc(); QDomNodeList producersList(); double fps() const; @@ -83,12 +83,12 @@ 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 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 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 +113,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 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); @@ -143,7 +143,6 @@ Q_OBJECT public: 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(); @@ -159,6 +158,10 @@ Q_OBJECT public: 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); + /** @brief Backup the project file */ + void backupLastSavedVersion(const QString &path); private: KUrl m_url; @@ -197,12 +200,14 @@ private: /** @brief Updates the project folder location entry in the kdenlive file dialogs to point to the current project folder. */ void updateProjectFolderPlacesEntry(); + /** @brief Only keep some backup files, delete some */ + void cleanupBackupFiles(); 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, + 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, @@ -214,7 +219,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(bool displayRatioChanged = false); + void checkProjectClips(bool displayRatioChanged = false, bool fpsChanged = false); private slots: void slotAutoSave(); @@ -232,6 +237,8 @@ signals: void docModified(bool); void selectLastAddedClip(const QString &); void guidesUpdated(); + /** @brief When creating a backup file, also save a thumbnail of current timeline */ + void saveTimelinePreview(const QString &path); }; #endif