]> git.sesse.net Git - kdenlive/commitdiff
Add autoplay to freesound widget
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 30 Dec 2011 09:40:32 +0000 (10:40 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 30 Dec 2011 09:40:32 +0000 (10:40 +0100)
src/utils/freesound.cpp
src/utils/freesound.h
src/widgets/freesound_ui.ui

index 9a81e9e08559e9436938d2f23735cd7e8f3d2645..d2039be534853ad634bcaf4fb7b72c67a5d4d65a 100644 (file)
@@ -194,6 +194,7 @@ void FreeSound::slotShowResults()
 
 void FreeSound::slotUpdateCurrentSound()
 {
+    if (!sound_autoplay->isChecked()) slotPlaySound(false);
     m_currentPreview.clear();
     m_currentUrl.clear();
     QListWidgetItem *item = search_results->currentItem();
@@ -203,6 +204,7 @@ void FreeSound::slotUpdateCurrentSound()
     }
     m_currentPreview = item->data(previewRole).toString();
     m_currentUrl = item->data(downloadRole).toString();
+    if (sound_autoplay->isChecked()) slotPlaySound(true);
     button_preview->setEnabled(!m_currentPreview.isEmpty());
     sound_box->setEnabled(true);
     sound_name->setText(item->text());
@@ -232,12 +234,12 @@ void FreeSound::slotUpdateCurrentSound()
 }
 
 
-void FreeSound::slotPlaySound()
+void FreeSound::slotPlaySound(bool play)
 {
     if (m_currentPreview.isEmpty()) return;
-    if (m_previewProcess && m_previewProcess->state() != QProcess::NotRunning) {
+    if (!play || (m_previewProcess && m_previewProcess->state() != QProcess::NotRunning)) {
         m_previewProcess->close();
-        return;
+        if (!play) return;
     }
     m_previewProcess->start("ffplay", QStringList() << m_currentPreview << "-nodisp");
 }
index 940220e10078f64a30409651f6900240e4e8ee8b..ca397b0f8e4a52671ff09c327f83b046383bebae 100644 (file)
@@ -45,7 +45,7 @@ private slots:
     void slotDataIsHere(KIO::Job *,const QByteArray & data );
     void slotShowResults();
     void slotUpdateCurrentSound();
-    void slotPlaySound();
+    void slotPlaySound(bool play = true);
     void slotPreviewStatusChanged(QProcess::ProcessState state);
     void slotSaveSound();
     void slotOpenUrl(const QString &url);
index 5c62926a35acf6b05ff481d4a2f3087f74f63426..15e5cbcfd9f02850212057a4d3e7bb948b994620 100644 (file)
@@ -88,7 +88,7 @@
         </property>
        </spacer>
       </item>
-      <item row="8" column="0" colspan="4">
+      <item row="9" column="0" colspan="4">
        <widget class="QPushButton" name="button_import">
         <property name="text">
          <string>Import</string>
         </property>
        </widget>
       </item>
+      <item row="8" column="0" colspan="3">
+       <widget class="QCheckBox" name="sound_autoplay">
+        <property name="text">
+         <string>Auto play</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>