]> git.sesse.net Git - kdenlive/blobdiff - src/renderwidget.h
Make it easier to save render scripts with custom names: http://www.kdenlive.org...
[kdenlive] / src / renderwidget.h
index 53b50ef812eb6ed1e60d09a06c7c0564dd11d04d..c832c46e3e940cef8928b0a1c03c1e4dfdc4b058 100644 (file)
@@ -29,6 +29,7 @@
 #include <QPushButton>
 #include <QPainter>
 #include <QStyledItemDelegate>
+#include <QKeyEvent>
 
 #include "definitions.h"
 #include "ui_renderwidget_ui.h"
@@ -67,6 +68,7 @@ public:
             painter->drawText(r1, Qt::AlignLeft | Qt::AlignTop , index.data(Qt::UserRole).toString());
             int progress = index.data(Qt::UserRole + 3).toInt();
             if (progress > 0 && progress < 100) {
+                // draw progress bar
                 QColor color = option.palette.alternateBase().color();
                 QColor fgColor = option.palette.text().color();
                 color.setAlpha(150);
@@ -75,7 +77,7 @@ public:
                 painter->setPen(QPen(fgColor));
                 int width = qMin(200, r1.width() - 4);
                 QRect bgrect(r1.left() + 2, option.rect.bottom() - 6 - textMargin, width, 6);
-                painter->drawRect(bgrect);
+                painter->drawRoundedRect(bgrect, 3, 3);
                 painter->setBrush(QBrush(fgColor));
                 bgrect.adjust(2, 2, 0, -1);
                 painter->setPen(Qt::NoPen);
@@ -87,34 +89,6 @@ public:
                 painter->drawText(r1, Qt::AlignLeft | Qt::AlignBottom , index.data(Qt::UserRole + 5).toString());
             }
             painter->restore();
-        } else if (index.column() == 2) {
-            // Set up a QStyleOptionProgressBar to precisely mimic the
-            // environment of a progress bar.
-            QStyleOptionViewItemV4 opt(option);
-            QStyle *style = opt.widget ? opt.widget->style() : QApplication::style();
-            style->drawPrimitive(QStyle::PE_PanelItemViewItem, &opt, painter, opt.widget);
-
-            QStyleOptionProgressBar progressBarOption;
-            progressBarOption.state = option.state;
-            progressBarOption.direction = QApplication::layoutDirection();
-            QRect rect = option.rect;
-            int mid = rect.height() / 2;
-            rect.setTop(rect.top() + mid / 2);
-            rect.setHeight(mid);
-            progressBarOption.rect = rect;
-            progressBarOption.fontMetrics = QApplication::fontMetrics();
-            progressBarOption.minimum = 0;
-            progressBarOption.maximum = 100;
-            progressBarOption.textAlignment = Qt::AlignCenter;
-            progressBarOption.textVisible = true;
-
-            // Set the progress and text values of the style option.
-            int progress = index.data(Qt::UserRole).toInt();
-            progressBarOption.progress = progress < 0 ? 0 : progress;
-            progressBarOption.text = QString().sprintf("%d%%", progressBarOption.progress);
-
-            // Draw the progress bar onto the view.
-            QApplication::style()->drawControl(QStyle::CE_ProgressBar, &progressBarOption, painter);
         } else QStyledItemDelegate::paint(painter, option, index);
     }
 };
@@ -151,7 +125,7 @@ public:
     void reloadProfiles();
     void setRenderProfile(QMap <QString, QString> props);
     int waitingJobsCount() const;
-    QString getFreeScriptName(const QString &prefix = QString());
+    QString getFreeScriptName(const KUrl &projectName = KUrl(), const QString &prefix = QString());
     bool startWaitingRenderJobs();
     void missingClips(bool hasMissing);
     /** @brief Returns true if the export audio checkbox is set to automatic. */
@@ -165,9 +139,10 @@ public:
 
 protected:
     virtual QSize sizeHint() const;
+    virtual void keyPressEvent(QKeyEvent *e);
 
 public slots:
-    void slotExport(bool scriptExport, int zoneIn, int zoneOut, const QString &playlistPath, const QString &scriptPath, bool exportAudio);
+    void slotExport(bool scriptExport, int zoneIn, int zoneOut, const QMap <QString, QString> metadata, const QString &playlistPath, const QString &scriptPath, bool exportAudio);
 
 private slots:
     void slotUpdateButtons(KUrl url);
@@ -234,7 +209,7 @@ private:
 
 signals:
     void abortProcess(const QString &url);
-    void openDvdWizard(const QString &url, const QString &profile);
+    void openDvdWizard(const QString &url);
     /** Send the infos about rendering that will be saved in the document:
     (profile destination, profile name and url of rendered file */
     void selectedRenderProfile(QMap <QString, QString> renderProps);