]> git.sesse.net Git - kdenlive/blobdiff - src/projectlist.h
* Add preliminary support for Blackmagic HDMI capture card
[kdenlive] / src / projectlist.h
index e9951fd8909da48cd4af9059043c23992fbc09c5..00ab5263f6f64d426d94d54115a6541dbd72f46d 100644 (file)
@@ -142,7 +142,7 @@ public:
     void setHeaderInfo(const QByteArray &state);
     void updateProjectFormat(Timecode t);
     void setupMenu(QMenu *addMenu, QAction *defaultAction);
-    void setupGeneratorMenu(QMenu *addMenu, QMenu *transcodeMenu);
+    void setupGeneratorMenu(QMenu *addMenu, QMenu *transcodeMenu, QMenu *inTimelineMenu);
     QString currentClipUrl() const;
     KUrl::List getConditionalUrls(const QString &condition) const;
     void reloadClipThumbnails();
@@ -155,7 +155,12 @@ public:
     void focusTree() const;
     SubProjectItem *getSubItem(ProjectItem *clip, QPoint zone);
     void doUpdateClipCut(const QString &id, const QPoint oldzone, const QPoint zone, const QString &comment);
+    bool hasMissingClips();
     void deleteProjectFolder(QMap <QString, QString> map);
+    void selectItemById(const QString &clipId);
+
+    /** @brief Returns a string list of all supported mime extensions. */
+    static QString getExtensions();
 
 public slots:
     void setDocument(KdenliveDoc *doc);
@@ -169,33 +174,38 @@ public slots:
     void slotRefreshClipThumbnail(QTreeWidgetItem *item, bool update = true);
     void slotRemoveInvalidClip(const QString &id, bool replace);
     void slotSelectClip(const QString &ix);
+
+    /** @brief Prepares removing the selected items. */
     void slotRemoveClip();
     void slotAddClip(const QList <QUrl> givenList = QList <QUrl> (), const QString &groupName = QString(), const QString &groupId = QString());
+
+    /** @brief Adds, edits or deletes a folder item.
+    *
+    * This is triggered by AddFolderCommand and EditFolderCommand. */
     void slotAddFolder(const QString foldername, const QString &clipId, bool remove, bool edit = false);
     void slotResetProjectList();
     void slotOpenClip();
     void slotEditClip();
     void slotReloadClip(const QString &id = QString());
+
+    /** @brief Shows dialog for setting up a color clip. */
     void slotAddColorClip();
     void regenerateTemplate(const QString &id);
     void slotUpdateClipCut(QPoint p);
     void slotAddClipCut(const QString &id, int in, int out);
+    void slotForceProcessing(const QString &id);
 
 private:
     ProjectListView *m_listView;
     Render *m_render;
     Timecode m_timecode;
     double m_fps;
-    QToolBar *m_toolbar;
     QTimer m_queueTimer;
     QMenu *m_menu;
     QUndoStack *m_commandStack;
-    void selectItemById(const QString &clipId);
     ProjectItem *getItemById(const QString &id);
     QTreeWidgetItem *getAnyItemById(const QString &id);
     FolderProjectItem *getFolderItemById(const QString &id);
-    QAction *m_editAction;
-    QAction *m_deleteAction;
     QAction *m_openAction;
     QAction *m_reloadAction;
     QMenu *m_transcodeAction;
@@ -203,16 +213,26 @@ private:
     ItemDelegate *m_listViewDelegate;
     bool m_refreshed;
     QToolButton *m_addButton;
+    QToolButton *m_deleteButton;
+    QToolButton *m_editButton;
     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);
+
+    /** @brief Creates an EditFolderCommand to change the name of an folder item. */
     void editFolder(const QString folderName, const QString oldfolderName, const QString &clipId);
+
+    /** @brief Gets the selected folder (or the folder of the selected item). */
     QStringList getGroup() const;
     void regenerateTemplate(ProjectItem *clip);
     void editClipSelection(QList<QTreeWidgetItem *> list);
+
+    /** @brief Enables and disables transcode actions based on the selected clip's type. */
     void adjustTranscodeActions(ProjectItem *clip) const;
+
+    /** @brief Sets the buttons enabled/disabled according to selected item. */
     void updateButtons() const;
 
 private slots:
@@ -220,15 +240,30 @@ private slots:
     void slotAddSlideshowClip();
     void slotAddTitleClip();
     void slotAddTitleTemplateClip();
-    void slotContextMenu(const QPoint &pos, QTreeWidgetItem *);
+
+    /** @brief Shows the context menu after enabling and disabling actions based on the item's type.
+    * @param pos The position where the menu should pop up
+    * @param item The item for which the checks should be done */
+    void slotContextMenu(const QPoint &pos, QTreeWidgetItem *item);
+
+    /** @brief Creates an AddFolderCommand. */
     void slotAddFolder();
-    /** This is triggered when a clip description has been modified */
+
+    /** @brief This is triggered when a clip description has been modified. */
     void slotItemEdited(QTreeWidgetItem *item, int column);
     void slotUpdateClipProperties(ProjectItem *item, QMap <QString, QString> properties);
     void slotProcessNextClipInQueue();
     void slotProcessNextThumbnail();
     void slotCheckForEmptyQueue();
     void slotPauseMonitor();
+    /** A clip was modified externally, change icon so that user knows it */
+    void slotModifiedClip(const QString &id);
+    void slotMissingClip(const QString &id);
+    void slotAvailableClip(const QString &id);
+    /** @brief Try to find a matching profile for given item. */
+    bool adjustProjectProfileToItem(ProjectItem *item = NULL);
+    /** @brief Add a sequence from the stopmotion widget. */
+    void slotAddOrUpdateSequence(const QString frameName);
     //void slotShowMenu(const QPoint &pos);
 
 signals:
@@ -243,7 +278,11 @@ signals:
     void clipNameChanged(const QString, const QString);
     void clipNeedsReload(const QString&, bool);
     void refreshClip();
+    void updateRenderStatus();
     void deleteProjectClips(QStringList ids, QMap <QString, QString> folderids);
+    void findInTimeline(const QString &clipId);
+    /** @brief Request a profile change for current document. */
+    void updateProfile(const QString &);
 };
 
 #endif