void MainWindow::openLastFile()
{
- KSharedConfigPtr config = KGlobal::config();
- KUrl::List urls = m_fileOpenRecent->urls();
- //WARNING: this is buggy, we get a random url, not the last one. Bug in KRecentFileAction?
- if (urls.isEmpty()) newFile(false);
- else openFile(urls.last());
+ if (m_fileOpenRecent->selectableActionGroup()->actions().isEmpty()) {
+ // No files in history
+ newFile(false);
+ return;
+ }
+ QAction *firstUrlAction = m_fileOpenRecent->selectableActionGroup()->actions().first();
+ if (firstUrlAction) firstUrlAction->trigger();
+ else newFile(false);
}
void MainWindow::openFile(const KUrl &url)
}
m_timelineArea->setTabToolTip(m_timelineArea->currentIndex(), doc->url().path());
trackView->setDuration(trackView->duration());
- trackView->projectView()->initCursorPos(m_projectMonitor->render->seekPosition().frames(doc->fps()));
if (m_timelineArea->count() > 1) m_timelineArea->setTabBarHidden(false);
slotGotProgressInfo(QString(), -1);
connect(trackView->projectView(), SIGNAL(forceClipProcessing(const QString &)), m_projectList, SLOT(slotForceProcessing(const QString &)));
connect(trackView->projectView(), SIGNAL(importKeyframes(GRAPHICSRECTITEM, const QString&, int)), this, SLOT(slotProcessImportKeyframes(GRAPHICSRECTITEM, const QString&, int)));
-
+
connect(m_projectMonitor, SIGNAL(renderPosition(int)), trackView, SLOT(moveCursorPos(int)));
connect(m_projectMonitor, SIGNAL(zoneUpdated(QPoint)), trackView, SLOT(slotSetZone(QPoint)));
connect(m_projectMonitor, SIGNAL(zoneUpdated(QPoint)), doc, SLOT(setModified()));
Mlt::Profile profile;
Mlt::Filter *filter = Mlt::Factory::filter(profile,(char*)"videostab");
if (filter) {
- delete filter;
- QAction *action=actionMenu->addAction(i18n("Stabilize (vstab)"));
- action->setData("videostab");
- connect(action,SIGNAL(triggered()), this, SLOT(slotStartClipAction()));
+ if (!filter->is_valid()) {
+ delete filter;
+ }
+ else {
+ delete filter;
+ QAction *action=actionMenu->addAction(i18n("Stabilize (vstab)"));
+ action->setData("videostab");
+ connect(action,SIGNAL(triggered()), this, SLOT(slotStartClipAction()));
+ }
}
filter = Mlt::Factory::filter(profile,(char*)"videostab2");
if (filter) {
- delete filter;
- QAction *action=actionMenu->addAction(i18n("Stabilize (transcode)"));
- action->setData("videostab2");
- connect(action,SIGNAL(triggered()), this, SLOT(slotStartClipAction()));
+ if (!filter->is_valid()) {
+ delete filter;
+ }
+ else {
+ delete filter;
+ QAction *action=actionMenu->addAction(i18n("Stabilize (transcode)"));
+ action->setData("videostab2");
+ connect(action,SIGNAL(triggered()), this, SLOT(slotStartClipAction()));
+ }
}
filter = Mlt::Factory::filter(profile,(char*)"motion_est");
if (filter) {
- delete filter;
- QAction *action=actionMenu->addAction(i18n("Automatic scene split"));
- action->setData("motion_est");
- connect(action,SIGNAL(triggered()), this, SLOT(slotStartClipAction()));
+ if (!filter->is_valid()) {
+ delete filter;
+ }
+ else {
+ delete filter;
+ QAction *action=actionMenu->addAction(i18n("Automatic scene split"));
+ action->setData("motion_est");
+ connect(action,SIGNAL(triggered()), this, SLOT(slotStartClipAction()));
+ }
}
}