X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fprojectlist.h;h=e1510e271d5710a18d7ddad0e61a5c2415bb43f9;hb=c236a2797be2ffe0125888708574152f700e0272;hp=d06befa4f8fd3d7ec576cbafbb92987d9bdfebef;hpb=0e80d47584de89836bdd85543f9e5e1e32ba1285;p=kdenlive diff --git a/src/projectlist.h b/src/projectlist.h index d06befa4..e1510e27 100644 --- a/src/projectlist.h +++ b/src/projectlist.h @@ -26,8 +26,8 @@ #include #include #include +#include -#include #include #include @@ -107,18 +107,21 @@ public: QDomElement producersList(); void setRenderer(Render *projectRender); - void slotUpdateClipProperties(int id, QMap properties); + void slotUpdateClipProperties(const QString &id, QMap properties); + void updateAllClips(); public slots: void setDocument(KdenliveDoc *doc); - void slotReplyGetImage(int clipId, int pos, const QPixmap &pix, int w, int h); - void slotReplyGetFileProperties(int clipId, Mlt::Producer *producer, const QMap < QString, QString > &properties, const QMap < QString, QString > &metadata); - void slotAddClip(DocClipBase *clip); - void slotDeleteClip(int clipId); - void slotUpdateClip(int id); - void slotRefreshClipThumbnail(int clipId); - void slotRefreshClipThumbnail(ProjectItem *item); - void slotRemoveInvalidClip(int id); + void slotReplyGetImage(const QString &clipId, int pos, const QPixmap &pix, int w, int h); + void slotReplyGetFileProperties(const QString &clipId, Mlt::Producer *producer, const QMap < QString, QString > &properties, const QMap < QString, QString > &metadata); + void slotAddClip(DocClipBase *clip, bool getProperties = true); + void slotDeleteClip(const QString &clipId); + void slotUpdateClip(const QString &id); + void slotRefreshClipThumbnail(const QString &clipId, bool update = true); + void slotRefreshClipThumbnail(ProjectItem *item, bool update = true); + void slotRemoveInvalidClip(const QString &id); + void slotSelectClip(const QString &ix); + void slotRemoveClip(); private: ProjectListView *listView; @@ -128,19 +131,23 @@ private: double m_fps; QToolBar *m_toolbar; QMenu *m_menu; - KUndoStack *m_commandStack; + QUndoStack *m_commandStack; int m_clipIdCounter; - void selectItemById(const int clipId); - ProjectItem *getItemById(int id); + void selectItemById(const QString &clipId); + ProjectItem *getItemById(const QString &id); QAction *m_editAction; QAction *m_deleteAction; KdenliveDoc *m_doc; ItemDelegate *m_listViewDelegate; ProjectItem *m_selectedItem; + bool m_refreshed; + QMap m_infoQueue; + void requestClipInfo(const QDomElement xml, const QString id); + QList m_thumbnailQueue; + void requestClipThumbnail(const QString &id); private slots: void slotAddClip(QUrl givenUrl = QUrl(), QString group = QString()); - void slotRemoveClip(); void slotEditClip(); void slotClipSelected(); void slotAddColorClip(); @@ -148,19 +155,22 @@ private slots: void slotAddTitleClip(); void slotContextMenu(const QPoint &pos, QTreeWidgetItem *); void slotAddFolder(); - void slotAddFolder(const QString foldername, int clipId, bool remove, bool edit); + void slotAddFolder(const QString foldername, const QString &clipId, bool remove, bool edit); /** This is triggered when a clip description has been modified */ void slotItemEdited(QTreeWidgetItem *item, int column); void slotUpdateClipProperties(ProjectItem *item, QMap properties); + void slotProcessNextClipInQueue(); + void slotProcessNextThumbnail(); + void slotCheckForEmptyQueue(); //void slotShowMenu(const QPoint &pos); - - signals: void clipSelected(DocClipBase *); - void getFileProperties(const QDomElement&, int); - void receivedClipDuration(int, int); + void getFileProperties(const QDomElement&, const QString &); + void receivedClipDuration(const QString &, int); void showClipProperties(DocClipBase *); + void projectModified(); + void loadingIsOver(); }; #endif