X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=e92c0a816e943e187bea4cd0d0a9458ed0fe8d25;hb=40a2b375a7c1085a6f791e05cdd81350916a2a64;hp=29cd402b7e6954975511f7057a12006edcbefb03;hpb=49bda928236824dd6b0b350ab0d1468b2af28f67;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index 29cd402b..e92c0a81 100644 --- a/src/kdenlivedoc.h +++ b/src/kdenlivedoc.h @@ -45,7 +45,8 @@ class DocClipBase; class MainWindow; class TrackInfo; -class KdenliveDoc: public QObject { +class KdenliveDoc: public QObject +{ Q_OBJECT public: KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, const QString &profileName, const QPoint tracks, Render *render, MainWindow *parent = 0); @@ -56,24 +57,19 @@ Q_OBJECT public: int height() const; KUrl url() const; KAutoSaveFile *m_autosave; - void backupMltPlaylist(); Timecode timecode() const; QDomDocument toXml(); //void setRenderer(Render *render); QUndoStack *commandStack(); QString producerName(const QString &id); - void setProducerDuration(const QString &id, int duration); - int getProducerDuration(const QString &id); Render *renderer(); - QDomElement m_guidesXml; + QDomDocument m_guidesXml; QDomElement guidesXml() const; ClipManager *clipManager(); void addClip(QDomElement elem, QString clipId, bool createClipItem = true); void 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 slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group, const QString &groupId = QString()); - void slotAddSlideshowClipFile(const QString name, const QString path, int count, const QString duration, const bool loop, const bool fade, const QString &luma_duration, const QString &luma_file, const int softness, const QString group, const QString &groupId = QString()); void deleteClip(const QString &clipId); int getFramePos(QString duration); DocClipBase *getBaseClip(const QString &clipId); @@ -81,12 +77,12 @@ Q_OBJECT public: void deleteProjectClip(QList ids); /** Inform application of the audio thumbnails generation progress */ void setThumbsProgress(const QString &message, int progress); - QString profilePath() const; + const QString &profilePath() const; MltVideoProfile mltProfile() const; - QString description() const; + const QString description() const; void setUrl(KUrl url); void setProfilePath(QString path); - const QString &getFreeClipId(); + const QString getFreeClipId(); /** does the document need saving */ bool isModified() const; /** Returns project folder, used to store project files (titles, effects,...) */ @@ -96,9 +92,9 @@ Q_OBJECT public: void syncGuides(QList guides); void setZoom(int factor); int zoom() const; - const double dar(); + double dar(); double projectDuration() const; - bool saveSceneList(const QString &path, QDomDocument sceneList); + bool saveSceneList(const QString &path, const QString &scene); int tracksCount() const; TrackInfo trackInfoAt(int ix) const; void insertTrack(int ix, TrackInfo type); @@ -106,9 +102,9 @@ Q_OBJECT public: void setTrackType(int ix, TrackInfo type); const QList tracksList() const; QPoint getTracksCount() const; - QString getTracksInfo() const; void switchTrackVideo(int ix, bool hide); void switchTrackAudio(int ix, bool hide); + void switchTrackLock(int ix, bool lock); void cachePixmap(const QString &fileId, const QPixmap &pix) const; void setProjectFolder(KUrl url); QString getLadspaFile() const; @@ -116,11 +112,11 @@ Q_OBJECT public: QPoint zone() const; void setSceneList(); void updatePreviewSettings(); + bool isTrackLocked(int ix) const; private: KUrl m_url; QDomDocument m_document; - QString m_projectName; double m_fps; int m_zoom; /** Cursor position at document opening */ @@ -130,10 +126,8 @@ private: Timecode m_timecode; Render *m_render; QUndoStack *m_commandStack; - QDomDocument generateSceneList(); ClipManager *m_clipManager; MltVideoProfile m_profile; - QString m_scenelist; QTimer *m_autoSaveTimer; QString m_searchFolder; /** tells whether current doc has been changed since last save event */ @@ -142,6 +136,7 @@ private: KUrl m_projectFolder; double m_documentLoadingStep; double m_documentLoadingProgress; + bool m_abortLoading; int m_zoneStart; int m_zoneEnd; @@ -150,26 +145,29 @@ private: bool convertDocument(double version); QDomDocument createEmptyDocument(const int videotracks, const int audiotracks); QString colorToString(const QColor& c); - void checkProjectClips(); + void setNewClipResource(const QString &id, const QString &path); QString searchFileRecursively(const QDir &dir, const QString &matchSize, const QString &matchHash) const; void moveProjectData(KUrl url); + bool checkDocumentClips(QDomNodeList producers, QDomNodeList infoproducers); public slots: void slotCreateTextClip(QString group, const QString &groupId); /** Set to true if document needs saving, false otherwise */ void setModified(bool mod = true); + void checkProjectClips(); private slots: void slotAutoSave(); signals: + void resetProjectList(); void addProjectClip(DocClipBase *, bool getInfo = true); void signalDeleteProjectClip(const QString &); void updateClipDisplay(const QString&); void deleteTimelineClip(const QString&); void progressInfo(const QString &, int); - /** emited when the document state has been modified (= needs saving or not) */ + /** emitted when the document state has been modified (= needs saving or not) */ void docModified(bool); void selectLastAddedClip(const QString &); void guidesUpdated();