// precedence, then "openlastproject", then just a plain empty file.
// If opening Url fails, openlastproject will _not_ be used.
if (!Url.isEmpty()) {
- openFile(Url);
- } else {
- if (KdenliveSettings::openlastproject()) {
- openLastFile();
- }
- }
- if (m_timelineArea->count() == 0) {
+ // delay loading so that the window shows up
+ m_startUrl = Url;
+ QTimer::singleShot(500, this, SLOT(openFile()));
+ } else if (KdenliveSettings::openlastproject()) {
+ QTimer::singleShot(500, this, SLOT(openLastFile()));
+ } else { //if (m_timelineArea->count() == 0) {
newFile(false);
}
void MainWindow::openFile()
{
+ if (!m_startUrl.isEmpty()) {
+ openFile(m_startUrl);
+ m_startUrl = KUrl();
+ return;
+ }
// Check that the Kdenlive mime type is correctly installed
QString mimetype = "application/x-kdenlive";
KMimeType::Ptr mime = KMimeType::mimeType(mimetype);
}
}
if (!KdenliveSettings::activatetabs()) closeCurrentDocument();
+ m_messageLabel->setMessage(i18n("Opening file %1", url.path()), InformationMessage);
+ qApp->processEvents();
doOpenFile(url, NULL);
}
disconnect(m_activeTimeline->projectView(), SIGNAL(activateDocumentMonitor()), m_projectMonitor, SLOT(activateMonitor()));
disconnect(m_activeTimeline, SIGNAL(zoneMoved(int, int)), this, SLOT(slotZoneMoved(int, int)));
disconnect(m_projectList, SIGNAL(loadingIsOver()), m_activeTimeline->projectView(), SLOT(slotUpdateAllThumbs()));
- disconnect(m_projectList, SIGNAL(displayMessage(const QString&, MessageType)), m_messageLabel, SLOT(setMessage(const QString&, MessageType)));
+ disconnect(m_projectList, SIGNAL(displayMessage(const QString&, int)), this, SLOT(slotGotProgressInfo(const QString&, int)));
m_effectStack->clear();
}
//m_activeDocument->setRenderer(NULL);
connect(trackView->projectView(), SIGNAL(activateDocumentMonitor()), m_projectMonitor, SLOT(activateMonitor()));
connect(trackView, SIGNAL(zoneMoved(int, int)), this, SLOT(slotZoneMoved(int, int)));
connect(m_projectList, SIGNAL(loadingIsOver()), trackView->projectView(), SLOT(slotUpdateAllThumbs()));
- connect(m_projectList, SIGNAL(displayMessage(const QString&, MessageType)), m_messageLabel, SLOT(setMessage(const QString&, MessageType)));
+ connect(m_projectList, SIGNAL(displayMessage(const QString&, int)), this, SLOT(slotGotProgressInfo(const QString&, int)));
trackView->projectView()->setContextMenu(m_timelineContextMenu, m_timelineContextClipMenu, m_timelineContextTransitionMenu, m_clipTypeGroup);