#include <KStandardDirs>
#include <KDebug>
#include <KFileItem>
+#include <KFileDialog>
#include <kdeversion.h>
#include <KUrlLabel>
#include <KRun>
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
void slotLoadMarkers();
void slotDeleteAnalysis();
void slotGotThumbnail(const QString &id, QImage img);
+ void slotSaveAnalysis();
+ void slotLoadAnalysis();
private:
Ui::ClipProperties_UI m_view;
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);
};
} 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();
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;
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);
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
}
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 *)));
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();
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")) {