]> git.sesse.net Git - kdenlive/blobdiff - src/projectlist.h
Fix opening of title with profile different than current one
[kdenlive] / src / projectlist.h
index b046757a4978808cf0c8a5730afc8a06e7af700c..6a84ae05212e221cfb5f369d459983b6372cc8f3 100644 (file)
@@ -28,7 +28,7 @@
 #include <QPainter>
 #include <QItemDelegate>
 #include <QUndoStack>
-
+#include <QTimer>
 
 #include <KTreeWidgetSearchLine>
 #include <KUrl>
@@ -123,14 +123,17 @@ public:
     QDomElement producersList();
     void setRenderer(Render *projectRender);
     void slotUpdateClipProperties(const QString &id, QMap <QString, QString> properties);
-    void updateAllClips();
-    QByteArray headerInfo();
+    QByteArray headerInfo() const;
     void setHeaderInfo(const QByteArray &state);
     void setupMenu(QMenu *addMenu, QAction *defaultAction);
-    void setupGeneratorMenu(QMenu *addMenu);
+    void setupGeneratorMenu(QMenu *addMenu, QMenu *transcodeMenu);
+    QString currentClipUrl() const;
+    void reloadClipThumbnails();
+    QDomDocument generateTemplateXml(QString data, const QString &replaceString);
 
 public slots:
     void setDocument(KdenliveDoc *doc);
+    void updateAllClips();
     void slotReplyGetImage(const QString &clipId, const QPixmap &pix);
     void slotReplyGetFileProperties(const QString &clipId, Mlt::Producer *producer, const QMap < QString, QString > &properties, const QMap < QString, QString > &metadata, bool replace);
     void slotAddClip(DocClipBase *clip, bool getProperties);
@@ -141,13 +144,14 @@ public slots:
     void slotRemoveInvalidClip(const QString &id, bool replace);
     void slotSelectClip(const QString &ix);
     void slotRemoveClip();
-    void slotAddClip(const QList <QUrl> givenList = QList <QUrl> (), QString group = QString());
+    void slotAddClip(const QList <QUrl> givenList = QList <QUrl> (), const QString &groupName = QString(), const QString &groupId = QString());
     void slotAddFolder(const QString foldername, const QString &clipId, bool remove, bool edit = false);
     void slotResetProjectList();
     void slotOpenClip();
     void slotEditClip();
-    void slotReloadClip();
+    void slotReloadClip(const QString &id = QString());
     void slotAddColorClip();
+    void regenerateTemplate(const QString &id);
 
 private:
     ProjectListView *m_listView;
@@ -155,6 +159,7 @@ private:
     Timecode m_timecode;
     double m_fps;
     QToolBar *m_toolbar;
+    QTimer m_queueTimer;
     QMenu *m_menu;
     QUndoStack *m_commandStack;
     void selectItemById(const QString &clipId);
@@ -164,21 +169,27 @@ private:
     QAction *m_deleteAction;
     QAction *m_openAction;
     QAction *m_reloadAction;
+    QMenu *m_transcodeAction;
     KdenliveDoc *m_doc;
     ProjectItem *m_selectedItem;
     bool m_refreshed;
     QToolButton *m_addButton;
     QMap <QString, QDomElement> m_infoQueue;
+    QMap <QString, QDomElement> m_producerQueue;
     void requestClipInfo(const QDomElement xml, const QString id);
     QList <QString> m_thumbnailQueue;
-    void requestClipThumbnail(const QString &id);
+    void requestClipThumbnail(const QString id);
     void deleteProjectFolder(QMap <QString, QString> map);
     void editFolder(const QString folderName, const QString oldfolderName, const QString &clipId);
+    QStringList getGroup() const;
+    void regenerateTemplate(ProjectItem *clip);
+    void regenerateTemplateImage(ProjectItem *clip);
 
 private slots:
     void slotClipSelected();
     void slotAddSlideshowClip();
     void slotAddTitleClip();
+    void slotAddTitleTemplateClip();
     void slotContextMenu(const QPoint &pos, QTreeWidgetItem *);
     void slotAddFolder();
     /** This is triggered when a clip description has been modified */
@@ -198,6 +209,7 @@ signals:
     void projectModified();
     void loadingIsOver();
     void clipNameChanged(const QString, const QString);
+    void refreshClip();
 };
 
 #endif