]> git.sesse.net Git - kdenlive/commitdiff
Freesound: save audio file url in clip comment (for attribution)
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Thu, 29 Dec 2011 22:36:09 +0000 (23:36 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Thu, 29 Dec 2011 22:36:09 +0000 (23:36 +0100)
src/clipmanager.cpp
src/clipmanager.h
src/kdenlivedoc.cpp
src/kdenlivedoc.h
src/mainwindow.cpp
src/mainwindow.h
src/utils/freesound.cpp
src/utils/freesound.h
src/widgets/freesound_ui.ui

index 160d3375676eda4d678899de79f71aa3c532350a..2baa42e01b6a39dea64ed80225c284a86cc99d55 100644 (file)
@@ -460,7 +460,7 @@ void ClipManager::resetProducersList(const QList <Mlt::Producer *> prods, bool d
     emit checkAllClips(displayRatioChanged, fpsChanged, brokenClips);
 }
 
-void ClipManager::slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId)
+void ClipManager::slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId, const QString &comment)
 {
     QUndoCommand *addClips = new QUndoCommand();
     foreach(const KUrl & file, urls) {
@@ -476,6 +476,7 @@ void ClipManager::slotAddClipList(const KUrl::List urls, const QString &group, c
             prod.setAttribute("resource", file.path());
             uint id = m_clipIdCounter++;
             prod.setAttribute("id", QString::number(id));
+            if (!comment.isEmpty()) prod.setAttribute("description", comment);
             if (!group.isEmpty()) {
                 prod.setAttribute("groupname", group);
                 prod.setAttribute("groupid", groupId);
@@ -536,9 +537,9 @@ void ClipManager::slotAddClipList(const KUrl::List urls, const QString &group, c
     }
 }
 
-void ClipManager::slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId)
+void ClipManager::slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId, const QString &comment)
 {
-    slotAddClipList(KUrl::List(url), group, groupId);
+    slotAddClipList(KUrl::List(url), group, groupId, comment);
 }
 
 void ClipManager::slotAddXmlClipFile(const QString &name, const QDomElement &xml, const QString &group, const QString &groupId)
index c7741b8f8f0b875f7df866209e3fa115b1c28b2c..fe31b853d440526c7d090a0ab84be8cfb76a069f 100644 (file)
@@ -72,14 +72,14 @@ Q_OBJECT public:
      * @param url file to add
      * @param group name of the group to insert the file in (can be empty)
      * @param groupId id of the group (if any) */
-    void slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId);
+    void slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId, const QString &comment = QString());
 
     /** @brief Adds a list of files to the project.
      * @param urls files to add
      * @param group name of the group to insert the files in (can be empty)
      * @param groupId id of the group (if any)
      * It checks for duplicated items and asks to the user for instructions. */
-    void slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId);
+    void slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId, const QString &comment = QString());
     void slotAddTextClipFile(const QString &titleName, int out, const QString &xml, const QString &group, const QString &groupId);
     void slotAddTextTemplateClip(QString titleName, const KUrl &path, const QString &group, const QString &groupId);
     void slotAddXmlClipFile(const QString &name, const QDomElement &xml, const QString &group, const QString &groupId);
index 7a38a203175c75c5a8a758010bc8c5543840d443..fe263601cc01c67b0f8b2e18224f6d2e740912cb 100644 (file)
@@ -1201,9 +1201,9 @@ void KdenliveDoc::slotAddClipList(const KUrl::List urls, const QString &group, c
 }
 
 
-void KdenliveDoc::slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId)
+void KdenliveDoc::slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId, const QString &comment)
 {
-    m_clipManager->slotAddClipFile(url, group, groupId);
+    m_clipManager->slotAddClipFile(url, group, groupId, comment);
     emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
     setModified(true);
 }
index 5cab5adc676544b0ead82875b0971e95e9e73f83..f88939bf0e14328b929f265b06371d1b787a25dd 100644 (file)
@@ -83,7 +83,7 @@ Q_OBJECT public:
      *
      * If the clip wasn't added before, it tries to add it to the project. */
     bool addClipInfo(QDomElement elem, QDomElement orig, QString clipId);
-    void slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId = QString());
+    void slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId = QString(), const QString &comment = QString());
     void slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId = QString());
     void deleteClip(const QString &clipId);
     int getFramePos(QString duration);
index 460cff92619027e7e3dc0e7137b7b96927b6ba76..93c3e9758db0186dfc350d03d2726ea98b494f21 100644 (file)
@@ -3055,10 +3055,10 @@ void MainWindow::slotEditItemDuration()
         m_activeTimeline->projectView()->editItemDuration();
 }
 
-void MainWindow::slotAddProjectClip(KUrl url)
+void MainWindow::slotAddProjectClip(KUrl url, const QString &comment)
 {
     if (m_activeDocument)
-        m_activeDocument->slotAddClipFile(url, QString());
+        m_activeDocument->slotAddClipFile(url, QString(), QString(), comment);
 }
 
 void MainWindow::slotAddProjectClipList(KUrl::List urls)
@@ -4508,7 +4508,7 @@ void MainWindow::slotDownloadAudio()
     if (m_activeDocument) currentFolder = m_activeDocument->projectFolder().path();
     else currentFolder = KdenliveSettings::defaultprojectfolder();
     FreeSound *d = new FreeSound(currentFolder);
-    connect(d, SIGNAL(addClip(KUrl)), this, SLOT(slotAddProjectClip(KUrl)));
+    connect(d, SIGNAL(addClip(KUrl, const QString &)), this, SLOT(slotAddProjectClip(KUrl, const QString &)));
     d->show();
 }
 
index 8b5f4c60fc11bf8e60bc04417600344d8202eb83..88296638282cf7d1c8ffc33938da1f6de0a61446 100644 (file)
@@ -411,7 +411,7 @@ private slots:
     void slotSelectAddTimelineTransition();
     void slotAddVideoEffect(QAction *result);
     void slotAddTransition(QAction *result);
-    void slotAddProjectClip(KUrl url);
+    void slotAddProjectClip(KUrl url, const QString &comment = QString());
     void slotAddProjectClipList(KUrl::List urls);
     void slotShowClipProperties(DocClipBase *clip);
     void slotShowClipProperties(QList <DocClipBase *>cliplist, QMap<QString, QString> commonproperties);
index c67ecb8c6b487f2c3a4fb55da741e2c96575c531..c7946d2ebecace539ff8011f43d0373f2b8dab87 100644 (file)
@@ -199,7 +199,7 @@ void FreeSound::slotSaveSound()
     QString saveUrl = KFileDialog::getSaveFileName(KUrl(path), ext);
     if (saveUrl.isEmpty()) return;
     if (KIO::NetAccess::download(KUrl(m_currentUrl), saveUrl, this)) {
-        emit addClip(KUrl(saveUrl));
+        emit addClip(KUrl(saveUrl), sound_name->url());
     }
 }
 
index 2d7f9a56d4ff8de7b1f43ddc3ddbf29c006ad8a0..d6d299efa92774ad9f7071f99526810208cb9c5a 100644 (file)
@@ -59,7 +59,7 @@ private:
     QProcess *m_previewProcess;
    
 signals:
-    void addClip(KUrl);
+    void addClip(KUrl, const QString &);
 };
 
 
index 01a4ef076499a6e39f1586f14bf3f56967cd26df..f691cdfbc16f11dc4f26c2090b61dbeff496678e 100644 (file)
@@ -82,6 +82,9 @@
         <property name="text">
          <string/>
         </property>
+        <property name="alignment">
+         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+        </property>
        </widget>
       </item>
       <item row="4" column="1">
         <property name="text">
          <string/>
         </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
        </widget>
       </item>
      </layout>