X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=e8953f1de63866a280c44fb304ed60ae9d3feea4;hb=04d9ee1d73082325557f73929600ffca12701cf3;hp=7e2f768fdc94b60dec901fa0d1538380a4a5d5c0;hpb=d9e091ef9ba5f2afb46f27843fd6d19e03b060cd;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index 7e2f768f..e8953f1d 100644 --- a/src/kdenlivedoc.h +++ b/src/kdenlivedoc.h @@ -45,11 +45,13 @@ class DocClipBase; class MainWindow; class TrackInfo; +class KTextEdit; + class KdenliveDoc: public QObject { Q_OBJECT public: - KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, 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, KTextEdit *notes, MainWindow *parent = 0); ~KdenliveDoc(); QDomNodeList producersList(); double fps() const; @@ -66,31 +68,48 @@ Q_OBJECT public: 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); + + /** @brief Adds a clip to the project tree. + * @return false if the user aborted the operation, true otherwise */ + bool addClip(QDomElement elem, QString clipId, bool createClipItem = true); + + /** @brief Updates information about a clip. + * @param elem the + * @param orig the potential + * @param clipId the producer id + * @return false if the user aborted the operation (in case the clip wasn't + * there yet), true otherwise + * + * 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 deleteClip(const QString &clipId); int getFramePos(QString duration); DocClipBase *getBaseClip(const QString &clipId); void updateClip(const QString id); - /** Inform application of the audio thumbnails generation progress */ + + /** @brief Informs Kdenlive of the audio thumbnails generation progress. */ void setThumbsProgress(const QString &message, int progress); const QString &profilePath() const; MltVideoProfile mltProfile() const; const QString description() const; void setUrl(KUrl url); - /** update project profile, returns true if fps was changed */ + + /** @brief Updates the project profile. + * @return true if frame rate was changed */ bool setProfilePath(QString path); const QString getFreeClipId(); - /** does the document need saving */ + + /** @brief Defines whether the document needs to be saved. */ bool isModified() const; - /** Returns project folder, used to store project files (titles, effects,...) */ + + /** @brief Returns the project folder, used to store project files. */ KUrl projectFolder() const; void syncGuides(QList guides); void setZoom(int horizontal, int vertical); QPoint zoom() const; - double dar(); + double dar() const; double projectDuration() const; bool saveSceneList(const QString &path, const QString &scene); int tracksCount() const; @@ -114,6 +133,14 @@ Q_OBJECT public: void setDocumentProperty(const QString &name, const QString &value); const QString getDocumentProperty(const QString &name) const; + /** @brief Gets the list of renderer properties saved into the document. */ + QMap getRenderProperties() const; + void addTrackEffect(int ix, QDomElement effect); + void removeTrackEffect(int ix, QDomElement effect); + void setTrackEffect(int trackIndex, int effectIndex, QDomElement effect); + const EffectsList getTrackEffects(int ix); + QDomElement getTrackEffect(int trackIndex, int effectIndex) const; + private: KUrl m_url; QDomDocument m_document; @@ -122,16 +149,18 @@ private: int m_height; Timecode m_timecode; Render *m_render; + KTextEdit *m_notesWidget; QUndoStack *m_commandStack; ClipManager *m_clipManager; MltVideoProfile m_profile; QTimer *m_autoSaveTimer; QString m_searchFolder; - /** tells whether current doc has been changed since last save event */ + + /** @brief Tells whether the current document has been changed after being saved. */ bool m_modified; - /** Project folder, used to store project files (titles, effects,...) */ + + /** @brief The project folder, used to store project files (titles, effects...). */ KUrl m_projectFolder; - bool m_abortLoading; QMap m_documentProperties; QList m_tracksList; @@ -139,15 +168,26 @@ private: QString searchFileRecursively(const QDir &dir, const QString &matchSize, const QString &matchHash) const; void moveProjectData(KUrl url); bool checkDocumentClips(QDomNodeList infoproducers); + + /** @brief Creates a new project. */ QDomDocument createEmptyDocument(int videotracks, int audiotracks); QDomDocument createEmptyDocument(QList tracks); 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 fade, const QString &luma_duration, const QString &luma_file, const int softness, 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 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 */ + + /** @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(); @@ -161,7 +201,10 @@ signals: void updateClipDisplay(const QString&); void deleteTimelineClip(const QString&); void progressInfo(const QString &, int); - /** emitted when the document state has been modified (= needs saving or not) */ + + /** @brief Informs that the document status has been changed. + * + * If the document has been modified, it's called with true as an argument. */ void docModified(bool); void selectLastAddedClip(const QString &); void guidesUpdated();