+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::slotGetNewMltProfileStuff()
+{
+ //KNS::Entry::List download();
+
+ KNS::Engine engine(0);
+ if (engine.init("kdenlive_mltprofiles.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;
+ }
+ }
+ }
+
+ // update the list of profiles in settings dialog
+ KdenliveSettingsDialog* d = static_cast <KdenliveSettingsDialog*>(KConfigDialog::exists("settings"));
+ if (d) d->checkProfile();
+ }
+ }
+}
+
+void MainWindow::slotAutoTransition()
+{
+ if (m_activeTimeline) m_activeTimeline->projectView()->autoTransition();
+}
+
+void MainWindow::slotSplitAudio()
+{
+ if (m_activeTimeline) m_activeTimeline->projectView()->splitAudio();
+}
+
+void MainWindow::slotUpdateClipType(QAction *action)
+{
+ if (m_activeTimeline) {
+ if (action->data().toString() == "clip_audio_only") m_activeTimeline->projectView()->setAudioOnly();
+ else if (action->data().toString() == "clip_video_only") m_activeTimeline->projectView()->setVideoOnly();
+ else m_activeTimeline->projectView()->setAudioAndVideo();
+ }
+}
+
+void MainWindow::slotDvdWizard(const QString &url, const QString &profile)
+{
+ DvdWizard *w = new DvdWizard(url, profile, this);
+ w->exec();
+}
+
+void MainWindow::slotShowTimeline(bool show)
+{
+ if (show == false) {
+ m_timelineState = saveState();
+ centralWidget()->setHidden(true);
+ } else {
+ centralWidget()->setHidden(false);
+ restoreState(m_timelineState);
+ }
+}
+
+void MainWindow::slotMaximizeCurrent(bool /*show*/)
+{
+ //TODO: is there a way to maximize current widget?
+ //if (show == true)
+ {
+ m_timelineState = saveState();
+ QWidget *par = focusWidget()->parentWidget();
+ while (par->parentWidget() && par->parentWidget() != this) {
+ par = par->parentWidget();
+ }
+ kDebug() << "CURRENT WIDGET: " << par->objectName();
+ }
+ /*else {
+ //centralWidget()->setHidden(false);
+ //restoreState(m_timelineState);
+ }*/
+}
+
+void MainWindow::loadTranscoders()
+{
+ QMenu *transMenu = static_cast<QMenu*>(factory()->container("transcoders", this));
+ transMenu->clear();
+
+ KSharedConfigPtr config = KSharedConfig::openConfig("kdenlivetranscodingrc");
+ KConfigGroup transConfig(config, "Transcoding");
+ // read the entries
+ QMap< QString, QString > profiles = transConfig.entryMap();
+ QMapIterator<QString, QString> i(profiles);
+ while (i.hasNext()) {
+ i.next();
+ QAction *a = transMenu->addAction(i.key());
+ a->setData(i.value());
+ connect(a, SIGNAL(triggered()), this, SLOT(slotTranscode()));
+ }
+}
+
+void MainWindow::slotTranscode(KUrl::List urls)
+{
+ QString params;
+ if (urls.isEmpty()) {
+ urls.append(m_projectList->currentClipUrl());
+ QAction *action = qobject_cast<QAction *>(sender());
+ params = action->data().toString();
+ }
+ if (urls.isEmpty()) return;
+ ClipTranscode *d = new ClipTranscode(urls, params);
+ connect(d, SIGNAL(addClip(KUrl)), this, SLOT(slotAddProjectClip(KUrl)));
+ d->show();
+ //QProcess::startDetached("ffmpeg", parameters);
+}
+
+void MainWindow::slotTranscodeClip()
+{
+ KUrl::List urls = KFileDialog::getOpenUrls(KUrl("kfiledialog:///projectfolder"));
+ if (urls.isEmpty()) return;
+ slotTranscode(urls);