X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=4007f595ffa984c237e14e53ffb558b1dcc33d97;hb=73e4527d1abd954f088b317e59c8f0cfc1cd2e16;hp=11456d04d80dfb75a86fbb77cb6d746537148075;hpb=6b6e6ac5af11fb3fd4f0eba0ba95ceea72b5f06e;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index 11456d04..4007f595 100644 --- a/src/kdenlivedoc.h +++ b/src/kdenlivedoc.h @@ -45,10 +45,11 @@ 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); + KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, QString profileName, const QPoint tracks, Render *render, MainWindow *parent = 0); ~KdenliveDoc(); QDomNodeList producersList(); double fps() const; @@ -61,10 +62,8 @@ Q_OBJECT public: //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); @@ -83,7 +82,7 @@ Q_OBJECT public: 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,...) */ @@ -91,9 +90,9 @@ Q_OBJECT public: /** Used to inform main app of the current document loading progress */ void loadingProgressed(); void syncGuides(QList guides); - void setZoom(int factor); - int zoom() const; - const double dar(); + void setZoom(int horizontal, int vertical); + QPoint zoom() const; + double dar(); double projectDuration() const; bool saveSceneList(const QString &path, const QString &scene); int tracksCount() const; @@ -111,52 +110,51 @@ Q_OBJECT public: QString getLadspaFile() const; void setZone(int start, int end); QPoint zone() const; - void setSceneList(); + int setSceneList(); void updatePreviewSettings(); bool isTrackLocked(int ix) const; + void setDocumentProperty(const QString &name, const QString &value); + const QString getDocumentProperty(const QString &name) const; private: KUrl m_url; QDomDocument m_document; - QString m_projectName; double m_fps; - int m_zoom; - /** Cursor position at document opening */ - int m_startPos; int m_width; int m_height; Timecode m_timecode; Render *m_render; QUndoStack *m_commandStack; - QDomDocument generateSceneList(); ClipManager *m_clipManager; MltVideoProfile m_profile; QTimer *m_autoSaveTimer; QString m_searchFolder; - /** tells whether current doc has been changed since last save event */ + /** tells whether current doc has been changed since last save event */ bool m_modified; /** Project folder, used to store project files (titles, effects,...) */ KUrl m_projectFolder; double m_documentLoadingStep; double m_documentLoadingProgress; bool m_abortLoading; - int m_zoneStart; - int m_zoneEnd; + QMap m_documentProperties; QList m_tracksList; - 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 infoproducers); public slots: - void slotCreateTextClip(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 fade, const QString &luma_duration, const QString &luma_file, const int softness, 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); /** Set to true if document needs saving, false otherwise */ void setModified(bool mod = true); + void checkProjectClips(); private slots: void slotAutoSave(); @@ -168,7 +166,7 @@ signals: 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();