]> git.sesse.net Git - kdenlive/blobdiff - src/renderwidget.h
Make renderjobs code a bit easier to read, fix detection of broken render scripts
[kdenlive] / src / renderwidget.h
index b6137b181d88f17c53db5786249b9e591134b372..5cadb060996427e23f54cc9513b75211c17c5494 100644 (file)
@@ -109,12 +109,27 @@ public:
 };
 
 
+class RenderJobItem: public QTreeWidgetItem
+{
+public:
+    explicit RenderJobItem(QTreeWidget * parent, const QStringList & strings, int type = QTreeWidgetItem::Type);
+    void setStatus(int status);
+    int status() const;
+    void setMetadata(const QString &data);
+    const QString metadata() const;
+    void render();
+
+private:
+    int m_status;
+    QString m_data;    
+};
+
 class RenderWidget : public QDialog
 {
     Q_OBJECT
 
 public:
-    explicit RenderWidget(const QString &projectfolder, bool enableProxy, QWidget * parent = 0);
+    explicit RenderWidget(const QString &projectfolder, bool enableProxy, MltVideoProfile profile, QWidget * parent = 0);
     virtual ~RenderWidget();
     void setGuides(QDomElement guidesxml, double duration);
     void focusFirstVisibleItem();
@@ -178,11 +193,13 @@ private slots:
     void slotSwitchAspectRatio();
     /** @brief Update export audio label depending on current settings. */
     void slotUpdateAudioLabel(int ix);
+    /** @brief Enable / disable the rescale options. */
+    void setRescaleEnabled(bool enable);
 
 private:
     Ui::RenderWidget_UI m_view;
-    MltVideoProfile m_profile;
     QString m_projectFolder;
+    MltVideoProfile m_profile;
     RenderViewDelegate *m_scriptsDelegate;
     RenderViewDelegate *m_jobsDelegate;
     bool m_blockProcessing;
@@ -196,8 +213,9 @@ private:
     void parseFile(QString exportFile, bool editable);
     void updateButtons();
     KUrl filenameWithExtension(KUrl url, QString extension);
+    /** @brief Check if a job needs to be started. */
     void checkRenderStatus();
-    void startRendering(QTreeWidgetItem *item);
+    void startRendering(RenderJobItem *item);
     void saveProfile(QDomElement newprofile);
     QList <QListWidgetItem *> m_renderItems;
     QList <QListWidgetItem *> m_renderCategory;