From: Jean-Baptiste Mardelle Date: Thu, 29 Dec 2011 22:36:09 +0000 (+0100) Subject: Freesound: save audio file url in clip comment (for attribution) X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=4d59dfaf4dc0b4702365ec4a2d8c86ba42a10fb9;p=kdenlive Freesound: save audio file url in clip comment (for attribution) --- diff --git a/src/clipmanager.cpp b/src/clipmanager.cpp index 160d3375..2baa42e0 100644 --- a/src/clipmanager.cpp +++ b/src/clipmanager.cpp @@ -460,7 +460,7 @@ void ClipManager::resetProducersList(const QList 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) diff --git a/src/clipmanager.h b/src/clipmanager.h index c7741b8f..fe31b853 100644 --- a/src/clipmanager.h +++ b/src/clipmanager.h @@ -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); diff --git a/src/kdenlivedoc.cpp b/src/kdenlivedoc.cpp index 7a38a203..fe263601 100644 --- a/src/kdenlivedoc.cpp +++ b/src/kdenlivedoc.cpp @@ -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); } diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index 5cab5adc..f88939bf 100644 --- a/src/kdenlivedoc.h +++ b/src/kdenlivedoc.h @@ -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); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 460cff92..93c3e975 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -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(); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 8b5f4c60..88296638 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -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 cliplist, QMap commonproperties); diff --git a/src/utils/freesound.cpp b/src/utils/freesound.cpp index c67ecb8c..c7946d2e 100644 --- a/src/utils/freesound.cpp +++ b/src/utils/freesound.cpp @@ -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()); } } diff --git a/src/utils/freesound.h b/src/utils/freesound.h index 2d7f9a56..d6d299ef 100644 --- a/src/utils/freesound.h +++ b/src/utils/freesound.h @@ -59,7 +59,7 @@ private: QProcess *m_previewProcess; signals: - void addClip(KUrl); + void addClip(KUrl, const QString &); }; diff --git a/src/widgets/freesound_ui.ui b/src/widgets/freesound_ui.ui index 01a4ef07..f691cdfb 100644 --- a/src/widgets/freesound_ui.ui +++ b/src/widgets/freesound_ui.ui @@ -82,6 +82,9 @@ + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + @@ -116,6 +119,9 @@ + + Qt::AlignCenter +