X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fclipmanager.h;h=b3f06e649ccbfdf7c7be89bca8efa3bbf46f49d4;hb=ead7176d2ab818ec3a1275aeca2b2fc0c1ea1276;hp=2d5f510795fb4dc8a0440a8e8fa74c511090277f;hpb=890932ce1fb3c925b54b7e486575380f2d6e67e0;p=kdenlive diff --git a/src/clipmanager.h b/src/clipmanager.h index 2d5f5107..b3f06e64 100644 --- a/src/clipmanager.h +++ b/src/clipmanager.h @@ -30,6 +30,7 @@ #include #include +#include #include #include "gentime.h" @@ -38,15 +39,17 @@ class KdenliveDoc; class DocClipBase; +class AbstractGroupItem; -namespace Mlt { +namespace Mlt +{ class Producer; }; -class ClipManager: public QObject { +class ClipManager: public QObject +{ Q_OBJECT public: - ClipManager(KdenliveDoc *doc); virtual ~ ClipManager(); void addClip(DocClipBase *clip); @@ -54,12 +57,13 @@ Q_OBJECT public: void deleteClip(const QString &clipId); void slotAddClipFile(const KUrl url, const QString group, const QString &groupId); void slotAddClipList(const KUrl::List urls, const QString group, const QString &groupId); - void slotAddTextClipFile(const QString titleName, const QString imagePath, const QString xml, const QString group, const QString &groupId); + void slotAddTextClipFile(const QString titleName, int out, const QString xml, const QString group, const QString &groupId); + void slotAddTextTemplateClip(QString titleName, const KUrl path, const QString group, const QString &groupId); void slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group, const QString &groupId); 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); DocClipBase *getClipById(QString clipId); - DocClipBase *getClipByResource(QString resource); - void slotDeleteClip(const QString & clipId); + const QList getClipByResource(QString resource); + void slotDeleteClips(QStringList ids); void setThumbsProgress(const QString &message, int progress); void checkAudioThumbs(); QList documentClipList() const; @@ -71,17 +75,29 @@ Q_OBJECT public: void endAudioThumbsGeneration(const QString &requestedId); void askForAudioThumb(const QString &id); QString projectFolder() const; - void resetProducersList(QList prods); + void clearUnusedProducers(); + void resetProducersList(const QList prods); void addFolder(const QString&, const QString&); void deleteFolder(const QString&); void clear(); + AbstractGroupItem *createGroup(); + void removeGroup(AbstractGroupItem *group); + QDomElement groupsXml() const; + int clipsCount() const; public slots: void updatePreviewSettings(); +private slots: + void slotClipModified(const QString &path); + void slotClipMissing(const QString &path); + void slotClipAvailable(const QString &path); + private: // Private attributes /** the list of clips in the document */ QList m_clipList; + /** the list of groups in the document */ + QList m_groupsList; QMap m_folderList; QList m_audioThumbsQueue; /** the document undo stack*/ @@ -90,7 +106,13 @@ private: // Private attributes int m_folderIdCounter; bool m_audioThumbsEnabled; QString m_generatingAudioId; + KDirWatch m_fileWatcher; +signals: + void reloadClip(const QString &); + void missingClip(const QString &); + void availableClip(const QString &); + void checkAllClips(); }; #endif