X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivedoc.h;h=8acf632842b74486dfb6bbaaae218274b98c9a72;hb=a3eee7be24126f5a3458d488f44cd61c66135e17;hp=955aee993f5f120fa2958f475a311386cba9ef24;hpb=f19daa7ce1724885a0cd248823e422a8b2360747;p=kdenlive diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index 955aee99..8acf6328 100644 --- a/src/kdenlivedoc.h +++ b/src/kdenlivedoc.h @@ -21,15 +21,11 @@ #ifndef KDENLIVEDOC_H #define KDENLIVEDOC_H -#include -#include +#include #include #include #include #include -#include -#include -#include #include #include @@ -47,12 +43,17 @@ class TrackInfo; class KTextEdit; class KProgressDialog; +class QGLWidget; +class QUndoGroup; +class QTimer; +class QUndoStack; class KdenliveDoc: public QObject { -Q_OBJECT public: + Q_OBJECT +public: - KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, QString profileName, QMap properties, QMap metadata, const QPoint &tracks, Render *render, KTextEdit *notes, bool *openBackup, MainWindow *parent = 0, KProgressDialog *progressDialog = 0); + KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, const QString &profileName, const QMap & properties, const QMap & metadata, const QPoint &tracks, Render *render, KTextEdit *notes, bool *openBackup, QGLWidget *glContext, MainWindow *parent = 0, KProgressDialog *progressDialog = 0); ~KdenliveDoc(); QDomNodeList producersList(); double fps() const; @@ -72,7 +73,7 @@ Q_OBJECT public: /** @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); + bool addClip(QDomElement elem, const QString &clipId, bool createClipItem = true); /** @brief Updates information about a clip. * @param elem the @@ -82,10 +83,10 @@ Q_OBJECT public: * 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 slotAddClipList(const KUrl::List urls, stringMap data = QMap ()); + bool addClipInfo(QDomElement elem, QDomElement orig, const QString &clipId); + void slotAddClipList(const KUrl::List &urls, const stringMap &data = stringMap()); void deleteClip(const QString &clipId); - int getFramePos(QString duration); + int getFramePos(const QString &duration); DocClipBase *getBaseClip(const QString &clipId); void updateClip(const QString &id); @@ -94,7 +95,7 @@ Q_OBJECT public: const QString &profilePath() const; MltVideoProfile mltProfile() const; const QString description() const; - void setUrl(KUrl url); + void setUrl(const KUrl &url); /** @brief Updates the project profile. * @return true if frame rate was changed */ @@ -106,7 +107,7 @@ Q_OBJECT public: /** @brief Returns the project folder, used to store project files. */ KUrl projectFolder() const; - void syncGuides(QList guides); + void syncGuides(const QList &guides); void setZoom(int horizontal, int vertical); QPoint zoom() const; double dar() const; @@ -117,9 +118,9 @@ Q_OBJECT public: 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); + void insertTrack(int ix, const TrackInfo &type); void deleteTrack(int ix); - void setTrackType(int ix, TrackInfo type); + void setTrackType(int ix, const TrackInfo &type); const QList tracksList() const; /** @brief Gets the number of audio and video tracks and returns them as a QPoint with x = video, y = audio. */ @@ -150,11 +151,11 @@ Q_OBJECT public: /** @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 removeTrackEffect(int ix, const QDomElement &effect); void setTrackEffect(int trackIndex, int effectIndex, QDomElement effect); const EffectsList getTrackEffects(int ix); /** @brief Enable / disable an effect in Kdenlive's xml list. */ - void enableTrackEffects(int trackIndex, QList effectIndexes, bool disable); + void enableTrackEffects(int trackIndex, const QList &effectIndexes, bool disable); QDomElement getTrackEffect(int trackIndex, int effectIndex) const; /** @brief Check if a track already contains a specific effect. */ int hasTrackEffect(int trackIndex, const QString &tag, const QString &id) const; @@ -167,7 +168,7 @@ Q_OBJECT public: /** @brief Returns the document metadata (author, copyright, ...) */ const QMap metadata() const; /** @brief Set the document metadata (author, copyright, ...) */ - void setMetadata(const QMap meta); + void setMetadata(const QMap & meta); private: KUrl m_url; @@ -195,15 +196,15 @@ private: QList m_tracksList; void setNewClipResource(const QString &id, const QString &path); QString searchFileRecursively(const QDir &dir, const QString &matchSize, const QString &matchHash) const; - void moveProjectData(KUrl url); + void moveProjectData(const KUrl &url); bool checkDocumentClips(QDomNodeList infoproducers); /** @brief Creates a new project. */ QDomDocument createEmptyDocument(int videotracks, int audiotracks); - QDomDocument createEmptyDocument(QList tracks); + QDomDocument createEmptyDocument(const QList &tracks); /** @brief Saves effects embedded in project file. * @return True if effects were imported. */ - bool saveCustomEffects(QDomNodeList customeffects); + bool saveCustomEffects(const QDomNodeList &customeffects); /** @brief Updates the project folder location entry in the kdenlive file dialogs to point to the current project folder. */ void updateProjectFolderPlacesEntry(); @@ -211,17 +212,17 @@ private: 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(QMap properties, QString group, const QString &groupId); + void slotCreateXmlClip(const QString &name, const QDomElement &xml, const QString &group, const QString &groupId); + void slotCreateColorClip(const QString &name, const QString &color, const QString &duration, const QString &group, const QString &groupId); + void slotCreateSlideshowClipFile(const QMap &properties, const 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); + void slotCreateTextTemplateClip(const QString &group, const QString &groupId, KUrl path); /** @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, bool fpsChanged = false); - void slotAddClipFile(const KUrl &url, stringMap data); + void slotAddClipFile(const KUrl &url, const stringMap &data); private slots: void slotAutoSave();