From 71689ab468fa0f9e798c5895c34d849c2c7705d4 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Sat, 3 Nov 2012 15:12:59 +0100 Subject: [PATCH] Implement analysis load / save --- src/clipproperties.cpp | 28 +++++++++++++++++++++++++++- src/clipproperties.h | 8 +++++--- src/cliptranscode.cpp | 2 +- src/dvdwizardvob.cpp | 2 +- src/kdenlivesettingsdialog.cpp | 4 ++-- src/mainwindow.cpp | 4 ++-- src/projectlist.cpp | 1 - 7 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/clipproperties.cpp b/src/clipproperties.cpp index 22bc7269..67acc240 100644 --- a/src/clipproperties.cpp +++ b/src/clipproperties.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -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 i(profiles); + while (i.hasNext()) { + i.next(); + emit editAnalysis(m_clip->getId(), i.key(), i.value()); + } } const QString &ClipProperties::clipId() const diff --git a/src/clipproperties.h b/src/clipproperties.h index 18ef15fd..72bafa94 100644 --- a/src/clipproperties.h +++ b/src/clipproperties.h @@ -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 ); void deleteProxy(const QString); void applyNewClipProperties(const QString, QMap , QMap , 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); }; diff --git a/src/cliptranscode.cpp b/src/cliptranscode.cpp index eace784d..22df000d 100644 --- a/src/cliptranscode.cpp +++ b/src/cliptranscode.cpp @@ -77,7 +77,7 @@ ClipTranscode::ClipTranscode(KUrl::List urls, const QString ¶ms, 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(); diff --git a/src/dvdwizardvob.cpp b/src/dvdwizardvob.cpp index dc268ab8..0d99f697 100644 --- a/src/dvdwizardvob.cpp +++ b/src/dvdwizardvob.cpp @@ -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; diff --git a/src/kdenlivesettingsdialog.cpp b/src/kdenlivesettingsdialog.cpp index c50b354e..7afa5947 100644 --- a/src/kdenlivesettingsdialog.cpp +++ b/src/kdenlivesettingsdialog.cpp @@ -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 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3ad959b1..855096a2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3332,7 +3332,7 @@ void MainWindow::slotShowClipProperties(DocClipBase *clip) } connect(dia, SIGNAL(addMarkers(const QString &, QList )), m_activeTimeline->projectView(), SLOT(slotAddClipMarker(const QString &, QList ))); - 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(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(); diff --git a/src/projectlist.cpp b/src/projectlist.cpp index 3a8f9329..1b3dcace 100644 --- a/src/projectlist.cpp +++ b/src/projectlist.cpp @@ -946,7 +946,6 @@ void ProjectList::slotPauseMonitor() void ProjectList::slotUpdateClipProperties(const QString &id, QMap properties) { ProjectItem *item = getItemById(id); - kDebug()<<"// PROPS: "<