]> git.sesse.net Git - kdenlive/blobdiff - src/renderwidget.cpp
Fix detection of missing codecs in render dialog, use kmessagewidget to inform user
[kdenlive] / src / renderwidget.cpp
index a1983e5f7bed4928df56427665bd45782bf4c774..39cc878a84708d3332bd70c2fe682b130e4a5571 100644 (file)
@@ -223,6 +223,19 @@ RenderWidget::RenderWidget(const QString &projectfolder, bool enableProxy, QWidg
 
     focusFirstVisibleItem();
     adjustSize();
+
+#if KDE_IS_VERSION(4,7,0)
+    m_infoMessage = new KMessageWidget;
+    QGridLayout *s =  static_cast <QGridLayout*> (m_view.tab->layout());
+    s->addWidget(m_infoMessage, 12, 0, 1, -1);
+    m_infoMessage->hide();
+#endif
+}
+
+QSize RenderWidget::sizeHint() const
+{
+    // Make sure the widget has minimum size on opening
+    return QSize(200, 200);
 }
 
 RenderWidget::~RenderWidget()
@@ -773,6 +786,9 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const
     if (!scriptExport) render_process_args << "-erase";
     if (KdenliveSettings::usekuiserver()) render_process_args << "-kuiserver";
 
+    // get process id
+    render_process_args << QString("-pid:%1").arg(QCoreApplication::applicationPid());
+
     // Set locale for render process if required
     if (QLocale().decimalPoint() != QLocale::system().decimalPoint()) {
         render_process_args << QString("-locale:%1").arg(QLocale().name());
@@ -2027,12 +2043,23 @@ void RenderWidget::missingClips(bool hasMissing)
 void RenderWidget::errorMessage(const QString &message)
 {
     if (!message.isEmpty()) {
+#if KDE_IS_VERSION(4,7,0)
+        m_infoMessage->setMessageType(KMessageWidget::Warning);
+        m_infoMessage->setText(message);
+        m_infoMessage->animatedShow();
+#else
         m_view.errorLabel->setText(message);
         m_view.errorBox->setHidden(false);
+#endif
     }
     else {
+#if KDE_IS_VERSION(4,7,0)
+        m_infoMessage->animatedHide();
+#else
         m_view.errorBox->setHidden(true);
         m_view.errorLabel->setText(QString());
+#endif
+
     }
 }