]> git.sesse.net Git - kdenlive/commitdiff
Implement analysis load / save
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 3 Nov 2012 14:12:59 +0000 (15:12 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 3 Nov 2012 14:12:59 +0000 (15:12 +0100)
src/clipproperties.cpp
src/clipproperties.h
src/cliptranscode.cpp
src/dvdwizardvob.cpp
src/kdenlivesettingsdialog.cpp
src/mainwindow.cpp
src/projectlist.cpp

index 22bc7269baa9513479376c3679698f64386cf507..67acc240ddf61b387ce37f36f245afcfa3ddc0cc 100644 (file)
@@ -27,6 +27,7 @@
 #include <KStandardDirs>
 #include <KDebug>
 #include <KFileItem>
+#include <KFileDialog>
 #include <kdeversion.h>
 #include <KUrlLabel>
 #include <KRun>
@@ -820,7 +821,32 @@ void ClipProperties::slotDeleteMarker()
 void ClipProperties::slotDeleteAnalysis()
 {
     QTreeWidgetItem *current = m_view.analysis_list->currentItem();
-    if (current) emit deleteAnalysis(m_clip->getId(), current->text(0));
+    if (current) emit editAnalysis(m_clip->getId(), current->text(0), QString());
+}
+
+void ClipProperties::slotSaveAnalysis()
+{
+    QString url = KFileDialog::getSaveFileName(KUrl("kfiledialog:///projectfolder"), "text/plain", this, i18n("Save Analysis Data"));
+    if (url.isEmpty()) return;
+    KSharedConfigPtr config = KSharedConfig::openConfig(url, KConfig::SimpleConfig);
+    KConfigGroup analysisConfig(config, "Analysis");
+    QTreeWidgetItem *current = m_view.analysis_list->currentItem();
+    analysisConfig.writeEntry(current->text(0), current->text(1));
+}
+
+void ClipProperties::slotLoadAnalysis()
+{
+    QString url = KFileDialog::getOpenFileName(KUrl("kfiledialog:///projectfolder"), "text/plain", this, i18n("Open Analysis Data"));
+    if (url.isEmpty()) return;
+    KSharedConfigPtr config = KSharedConfig::openConfig(url, KConfig::SimpleConfig);
+    KConfigGroup transConfig(config, "Analysis");
+    // read the entries
+    QMap< QString, QString > profiles = transConfig.entryMap();
+    QMapIterator<QString, QString> i(profiles);
+    while (i.hasNext()) {
+       i.next();
+       emit editAnalysis(m_clip->getId(), i.key(), i.value());
+    }
 }
 
 const QString &ClipProperties::clipId() const
index 18ef15fdfbf86ddc11cffcd0475733baf53fb6ed..72bafa94b73028d20f61be55b5eb34e0970bb7db 100644 (file)
@@ -77,6 +77,8 @@ private slots:
     void slotLoadMarkers();
     void slotDeleteAnalysis();
     void slotGotThumbnail(const QString &id, QImage img);
+    void slotSaveAnalysis();
+    void slotLoadAnalysis();
 
 private:
     Ui::ClipProperties_UI m_view;
@@ -97,9 +99,9 @@ signals:
     void addMarkers(const QString &, QList <CommentedTime>);
     void deleteProxy(const QString);
     void applyNewClipProperties(const QString, QMap <QString, QString> , QMap <QString, QString> , bool, bool);
-    void saveMarkers(const QString &);
-    void loadMarkers(const QString &);
-    void deleteAnalysis(const QString &, const QString &);
+    void saveMarkers(const QString &id);
+    void loadMarkers(const QString &id);
+    void editAnalysis(const QString &id, const QString &name, const QString &value);
 };
 
 
index eace784d2d55003bdfadd277f160bf3ba529b7a4..22df000d209574253f7c8af1deb2f03dc41f722c 100644 (file)
@@ -77,7 +77,7 @@ ClipTranscode::ClipTranscode(KUrl::List urls, const QString &params, const QStri
         } else transcode_info->setHidden(true);
     } else {
         // load Profiles
-        KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc");
+        KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc", KConfig::CascadeConfig);
         KConfigGroup transConfig(config, "Transcoding");
         // read the entries
         QMap< QString, QString > profiles = transConfig.entryMap();
index dc268ab866c0471b07dc032884e9f866fce8fac7..0d99f697a53446f0011383503aea5296b32f08dd 100644 (file)
@@ -475,7 +475,7 @@ void DvdWizardVob::clear()
 void DvdWizardVob::slotTranscodeFiles()
 {
     // Find transcoding infos related to selected DVD profile
-    KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc");
+    KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc", KConfig::CascadeConfig);
     KConfigGroup transConfig(config, "Transcoding");
     // read the entries
     QString profileEasyName;
index c50b354e1090c6e73044c8d68d3a0336dbf03f92..7afa59472bc36cbd4e965c6f0c52974499c4f92f 100644 (file)
@@ -759,7 +759,7 @@ void KdenliveSettingsDialog::slotCheckAlsaDriver()
 
 void KdenliveSettingsDialog::loadTranscodeProfiles()
 {
-    KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc");
+    KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc", KConfig::CascadeConfig);
     KConfigGroup transConfig(config, "Transcoding");
     // read the entries
     m_configTranscode.profiles_list->blockSignals(true);
@@ -781,7 +781,7 @@ void KdenliveSettingsDialog::loadTranscodeProfiles()
 
 void KdenliveSettingsDialog::saveTranscodeProfiles()
 {
-    KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc");
+    KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc", KConfig::CascadeConfig);
     //KSharedConfigPtr config = KGlobal::config();
     KConfigGroup transConfig(config, "Transcoding");
     // read the entries
index 3ad959b15571849b9dc8826fd4e9d2ec54609a5b..855096a2527a818656d7b7b0f1d73ff77f8a7a49 100644 (file)
@@ -3332,7 +3332,7 @@ void MainWindow::slotShowClipProperties(DocClipBase *clip)
     }
     
     connect(dia, SIGNAL(addMarkers(const QString &, QList <CommentedTime>)), m_activeTimeline->projectView(), SLOT(slotAddClipMarker(const QString &, QList <CommentedTime>)));
-    connect(dia, SIGNAL(deleteAnalysis(QString,QString)), m_activeTimeline->projectView(), SLOT(slotAddClipExtraData(QString,QString)));
+    connect(dia, SIGNAL(editAnalysis(QString,QString,QString)), m_activeTimeline->projectView(), SLOT(slotAddClipExtraData(QString,QString,QString)));
     connect(m_activeTimeline->projectView(), SIGNAL(updateClipMarkers(DocClipBase *)), dia, SLOT(slotFillMarkersList(DocClipBase *)));
     connect(m_activeTimeline->projectView(), SIGNAL(updateClipExtraData(DocClipBase *)), dia, SLOT(slotUpdateAnalysisData(DocClipBase *)));
     connect(m_projectList, SIGNAL(updateAnalysisData(DocClipBase *)), dia, SLOT(slotUpdateAnalysisData(DocClipBase *)));
@@ -3949,7 +3949,7 @@ void MainWindow::loadTranscoders()
     QMenu *extractAudioMenu = static_cast<QMenu*>(factory()->container("extract_audio", this));
     extractAudioMenu->clear();
 
-    KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc");
+    KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc", KConfig::CascadeConfig);
     KConfigGroup transConfig(config, "Transcoding");
     // read the entries
     QMap< QString, QString > profiles = transConfig.entryMap();
index 3a8f93298a35442ddd06711aff5695250514fb2c..1b3dcacec6b88cd3ffa10108eff0701f2706e10c 100644 (file)
@@ -946,7 +946,6 @@ void ProjectList::slotPauseMonitor()
 void ProjectList::slotUpdateClipProperties(const QString &id, QMap <QString, QString> properties)
 {
     ProjectItem *item = getItemById(id);
-    kDebug()<<"// PROPS: "<<properties;
     if (item) {
         slotUpdateClipProperties(item, properties);
         if (properties.contains("out") || properties.contains("force_fps") || properties.contains("resource") || properties.contains("video_index") || properties.contains("audio_index")) {