install (FILES kdenlivesettings.kcfg DESTINATION share/config.kcfg)
install (FILES kdenlive.desktop DESTINATION share/applications/kde)
install (FILES application-x-kdenlive.svgz video-mlt-playlist.svgz DESTINATION share/icons/oxygen/scalable/mimetypes)
-install( FILES kdenlive.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
+install( FILES kdenlive.knsrc kdenlive_render.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
kde4_install_icons( ${ICON_INSTALL_DIR} )
[KNewStuff2]
ProvidersUrl=http://download.kde.org/khotnewstuff/kdenlive-providers.xml
TargetDir=kdenlive/lumas
-Uncompress=archive
\ No newline at end of file
+Uncompress=archive
--- /dev/null
+[KNewStuff2]
+ProvidersUrl=http://kdenlive.org/data/rendersources.xml
+TargetDir=kdenlive/export
+Uncompress=archive
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<gui name="kdenlive" version="32">
+<gui name="kdenlive" version="33">
<ToolBar name="extraToolBar" >
<text>Extra Toolbar</text>
<Action name="project_render" />
</Menu>
<Menu name="settings" >
<Action name="manage_profiles" />
- <Action name="get_new_stuff" />
+ <Action name="get_new_lumas" />
+ <Action name="get_new_profiles" />
<Action name="run_wizard" />
</Menu>
</MenuBar>
collection->addAction("manage_profiles", profilesAction);
connect(profilesAction, SIGNAL(triggered(bool)), this, SLOT(slotEditProfiles()));
- KAction* fileGHNS = KNS::standardAction(i18n("Download New Lumas..."), this, SLOT(slotGetNewStuff()), actionCollection(), "get_new_stuff");
+ KNS::standardAction(i18n("Download New Lumas..."), this, SLOT(slotGetNewLumaStuff()), actionCollection(), "get_new_lumas");
+
+ KNS::standardAction(i18n("Download New Profiles..."), this, SLOT(slotGetNewRenderStuff()), actionCollection(), "get_new_profiles");
KAction* wizAction = new KAction(KIcon("configure"), i18n("Run Config Wizard"), this);
collection->addAction("run_wizard", wizAction);
} else m_activeTimeline->projectView()->setOutPoint();
}
-void MainWindow::slotGetNewStuff() {
+void MainWindow::slotGetNewLumaStuff() {
//KNS::Entry::List download();
KNS::Entry::List entries = KNS::Engine::download();
int numberInstalled = 0;
initEffects::refreshLumas();
}
+void MainWindow::slotGetNewRenderStuff() {
+ //KNS::Entry::List download();
+
+ KNS::Engine engine(0);
+ if (engine.init("kdenlive_render.knsrc")) {
+ KNS::Entry::List entries = engine.downloadDialogModal(this);
+
+ if (entries.size() > 0) {
+ foreach(KNS::Entry* entry, entries) {
+ // care only about installed ones
+ if (entry->status() == KNS::Entry::Installed) {
+ foreach(const QString &file, entry->installedFiles()) {
+ kDebug() << "// CURRENTLY INSTALLED: " << file;
+ }
+ }
+ }
+ }
+ if (m_renderWidget) m_renderWidget->reloadProfiles();
+ }
+}
+
void MainWindow::slotAutoTransition() {
m_activeTimeline->projectView()->autoTransition();
}
void slotInsertTrack(int ix = 0);
void slotDeleteTrack(int ix = 0);
void slotChangeTrack(int ix = 0);
- void slotGetNewStuff();
+ void slotGetNewLumaStuff();
+ void slotGetNewRenderStuff();
void slotAutoTransition();
void slotRunWizard();
void generateClip();
m_view.buttonStart->setEnabled(true);
}
+void RenderWidget::reloadProfiles() {
+ parseProfiles();
+}
+
void RenderWidget::parseProfiles(QString group, QString profile) {
m_view.size_list->clear();
m_view.format_list->clear();
m_view.destination_list->addItem(KIcon("video-x-generic"), i18n("File rendering"));
QString exportFile = KStandardDirs::locate("appdata", "export/profiles.xml");
parseFile(exportFile, false);
- exportFile = KStandardDirs::locateLocal("appdata", "export/customprofiles.xml");
- if (QFile::exists(exportFile)) parseFile(exportFile, true);
+
+
+ QString exportFolder = KStandardDirs::locateLocal("appdata", "export/");
+ QDir directory = QDir(exportFolder);
+ QStringList filter;
+ filter << "*.xml";
+ const QStringList fileList = directory.entryList(filter, QDir::Files);
+ foreach(const QString filename, fileList)
+ parseFile(exportFolder + '/' + filename, true);
+
refreshView();
QList<QListWidgetItem *> child;
- child = m_view.format_list->findItems(group, Qt::MatchExactly);
+ if (!group.isEmpty()) child = m_view.format_list->findItems(group, Qt::MatchExactly);
if (!child.isEmpty()) m_view.format_list->setCurrentItem(child.at(0));
- child = m_view.size_list->findItems(profile, Qt::MatchExactly);
+ child.clear();
+ if (!profile.isEmpty()) child = m_view.size_list->findItems(profile, Qt::MatchExactly);
if (!child.isEmpty()) m_view.size_list->setCurrentItem(child.at(0));
}
else if (metagroupId == "websites") icon = KIcon("applications-internet");
else if (metagroupId == "mediaplayers") icon = KIcon("applications-multimedia");
else if (metagroupId == "lossless") icon = KIcon("drive-harddisk");
+ else if (metagroupId == "mobile") icon = KIcon("pda");
m_view.destination_list->addItem(icon, i18n(metagroupName.toUtf8().data()), metagroupId);
}
}
void setRenderJob(const QString &dest, int progress = 0);
void setRenderStatus(const QString &dest, int status, const QString &error);
void setDocumentPath(const QString path);
+ void reloadProfiles();
private slots:
void slotUpdateButtons(KUrl url);