]> git.sesse.net Git - kdenlive/blobdiff - src/renderwidget.cpp
Updated Hungarian translation
[kdenlive] / src / renderwidget.cpp
index 6894de120a5b6d93e0c42ec054cceef0e48d4bb2..8af8002bb702dad3cd7d6bcbd8b484fb154bb409 100644 (file)
@@ -42,6 +42,8 @@
 #include <QMenu>
 #include <QInputDialog>
 #include <QProcess>
+#include <QDBusConnectionInterface>
+#include <QDBusInterface>
 
 const int GroupRole = Qt::UserRole;
 const int ExtensionRole = GroupRole + 1;
@@ -186,6 +188,11 @@ RenderWidget::RenderWidget(const QString &projectfolder, QWidget * parent) :
         if (m_renderer.isEmpty()) m_renderer = "kdenlive_render";
     }
 
+    QDBusConnectionInterface* interface = QDBusConnection::sessionBus().interface();
+    if (!interface || !interface->isServiceRegistered("org.kde.ksmserver")) {
+        m_view.shutdown->setEnabled(false);
+    }
+
     focusFirstVisibleItem();
 }
 
@@ -815,6 +822,7 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const
 
 void RenderWidget::checkRenderStatus()
 {
+    // check if we have a job waiting to render
     if (m_blockProcessing) return;
     QTreeWidgetItem *item = m_view.running_jobs->topLevelItem(0);
     while (item) {
@@ -822,9 +830,11 @@ void RenderWidget::checkRenderStatus()
         item = m_view.running_jobs->itemBelow(item);
     }
     item = m_view.running_jobs->topLevelItem(0);
+    bool waitingJob = false;
     while (item) {
         if (item->data(1, Qt::UserRole + 2).toInt() == WAITINGJOB) {
             item->setData(1, Qt::UserRole + 1, QTime::currentTime());
+            waitingJob = true;
             if (item->data(1, Qt::UserRole + 4).isNull()) {
                 // Normal render process
                 if (QProcess::startDetached(m_renderer, item->data(1, Qt::UserRole + 3).toStringList()) == false) {
@@ -846,6 +856,7 @@ void RenderWidget::checkRenderStatus()
         }
         item = m_view.running_jobs->itemBelow(item);
     }
+    if (waitingJob == false && m_view.shutdown->isChecked()) emit shutdown();
 }
 
 int RenderWidget::waitingJobsCount() const
@@ -1154,8 +1165,8 @@ void RenderWidget::parseFile(QString exportFile, bool editable)
     const QStringList acodecsList = KdenliveSettings::audiocodecs();
     bool replaceVorbisCodec = false;
     if (!acodecsList.contains("vorbis") && acodecsList.contains("libvorbis")) replaceVorbisCodec = true;
-       bool replaceLibfaacCodec = false;
-       if (!acodecsList.contains("libfaac") && acodecsList.contains("aac")) replaceLibfaacCodec = true;
+    bool replaceLibfaacCodec = false;
+    if (!acodecsList.contains("libfaac") && acodecsList.contains("aac")) replaceLibfaacCodec = true;
 
 
     if (editable || groups.count() == 0) {
@@ -1209,10 +1220,10 @@ void RenderWidget::parseFile(QString exportFile, bool editable)
                 // replace vorbis with libvorbis
                 params = params.replace("vorbis", "libvorbis");
             }
-                       if (replaceLibfaacCodec && params.contains("acodec=libfaac")) {
-                               // replace libfaac with aac
-                               params = params.replace("libfaac", "aac");
-                       }
+            if (replaceLibfaacCodec && params.contains("acodec=libfaac")) {
+                // replace libfaac with aac
+                params = params.replace("libfaac", "aac");
+            }
 
             QString category = profile.attribute("category", i18n("Custom"));
             QString dest = profile.attribute("destinationid");
@@ -1325,12 +1336,12 @@ void RenderWidget::parseFile(QString exportFile, bool editable)
                 // replace vorbis with libvorbis
                 params = params.replace("vorbis", "libvorbis");
             }
-                       if (replaceLibfaacCodec && params.contains("acodec=libfaac")) {
-                               // replace libfaac with aac
-                               params = params.replace("libfaac", "aac");
-                       }
+            if (replaceLibfaacCodec && params.contains("acodec=libfaac")) {
+                // replace libfaac with aac
+                params = params.replace("libfaac", "aac");
+            }
 
-                       prof_extension = profileElement.attribute("extension");
+            prof_extension = profileElement.attribute("extension");
             if (!prof_extension.isEmpty()) extension = prof_extension;
             item = new QListWidgetItem(profileName, m_view.size_list);
             item->setData(GroupRole, groupName);