X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmainwindow.cpp;h=d2bc4b018cc7bae5b23a00ceb49b49ea1591b1b0;hb=2bc1e097b59002f245b0378d99b7dbfa4fcb0713;hp=ccf544b8af1f1e3a0a7c99553b27afc6c78e13e1;hpb=104feb68ab9d5ba11892253d1460a3ba211d0af9;p=kdenlive diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index ccf544b8..d2bc4b01 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1261,6 +1261,7 @@ void MainWindow::closeCurrentDocument() break; case KMessageBox::Cancel : return; + break; default: break; } @@ -1270,13 +1271,16 @@ void MainWindow::closeCurrentDocument() m_timelineArea->setTabBarHidden(true); m_closeAction->setEnabled(false); } - delete docToClose; - delete w; - if (m_timelineArea->count() == 0) { + if (docToClose == m_activeDocument) { + delete m_activeDocument; m_activeDocument = NULL; m_effectStack->clear(); - m_transitionConfig->slotTransitionItemSelected(NULL, false); - } + m_transitionConfig->slotTransitionItemSelected(NULL, QPoint(), false); + } else delete docToClose; + if (w == m_activeTimeline) { + delete m_activeTimeline; + m_activeTimeline = NULL; + } else delete w; } bool MainWindow::saveFileAs(const QString &outputFileName) @@ -1527,6 +1531,7 @@ void MainWindow::slotEditProjectSettings() if (m_renderWidget) m_renderWidget->setDocumentPath(w->selectedFolder().path()); if (m_activeDocument->profilePath() != profile) { // Profile was changed + double dar = m_activeDocument->dar(); m_activeDocument->setProfilePath(profile); KdenliveSettings::setCurrent_profile(profile); KdenliveSettings::setProject_fps(m_activeDocument->fps()); @@ -1535,7 +1540,7 @@ void MainWindow::slotEditProjectSettings() if (m_renderWidget) m_renderWidget->setProfile(m_activeDocument->mltProfile()); m_timelineArea->setTabText(m_timelineArea->currentIndex(), m_activeDocument->description()); m_activeDocument->clipManager()->resetProducersList(m_projectMonitor->render->producersList()); - + if (dar != m_activeDocument->dar()) m_projectList->reloadClipThumbnails(); // We need to desactivate & reactivate monitors to get a refresh m_monitorManager->switchMonitors(); } @@ -1781,8 +1786,8 @@ void MainWindow::connectDocument(TrackView *trackView, KdenliveDoc *doc) //cha disconnect(m_activeDocument, SIGNAL(deleteTimelineClip(const QString &)), m_activeTimeline, SLOT(slotDeleteClip(const QString &))); disconnect(m_activeTimeline->projectView(), SIGNAL(clipItemSelected(ClipItem*, int)), m_effectStack, SLOT(slotClipItemSelected(ClipItem*, int))); disconnect(m_activeTimeline->projectView(), SIGNAL(clipItemSelected(ClipItem*, int)), this, SLOT(slotActivateEffectStackView())); - disconnect(m_activeTimeline, SIGNAL(transitionItemSelected(Transition*, bool)), m_transitionConfig, SLOT(slotTransitionItemSelected(Transition*, bool))); - disconnect(m_activeTimeline, SIGNAL(transitionItemSelected(Transition*, bool)), this, SLOT(slotActivateTransitionView(Transition *))); + disconnect(m_activeTimeline, SIGNAL(transitionItemSelected(Transition*, QPoint, bool)), m_transitionConfig, SLOT(slotTransitionItemSelected(Transition*, QPoint, bool))); + disconnect(m_activeTimeline, SIGNAL(transitionItemSelected(Transition*, QPoint, bool)), this, SLOT(slotActivateTransitionView(Transition *))); disconnect(m_zoomSlider, SIGNAL(valueChanged(int)), m_activeTimeline, SLOT(slotChangeZoom(int))); disconnect(m_activeTimeline->projectView(), SIGNAL(displayMessage(const QString&, MessageType)), m_messageLabel, SLOT(setMessage(const QString&, MessageType))); disconnect(m_activeTimeline->projectView(), SIGNAL(showClipFrame(DocClipBase *, const int)), m_clipMonitor, SLOT(slotSetXml(DocClipBase *, const int))); @@ -1841,8 +1846,8 @@ void MainWindow::connectDocument(TrackView *trackView, KdenliveDoc *doc) //cha connect(trackView->projectView(), SIGNAL(clipItemSelected(ClipItem*, int)), m_effectStack, SLOT(slotClipItemSelected(ClipItem*, int))); connect(trackView->projectView(), SIGNAL(clipItemSelected(ClipItem*, int)), this, SLOT(slotActivateEffectStackView())); - connect(trackView, SIGNAL(transitionItemSelected(Transition*, bool)), m_transitionConfig, SLOT(slotTransitionItemSelected(Transition*, bool))); - connect(trackView, SIGNAL(transitionItemSelected(Transition*, bool)), this, SLOT(slotActivateTransitionView(Transition *))); + connect(trackView, SIGNAL(transitionItemSelected(Transition*, QPoint, bool)), m_transitionConfig, SLOT(slotTransitionItemSelected(Transition*, QPoint, bool))); + connect(trackView, SIGNAL(transitionItemSelected(Transition*, QPoint, bool)), this, SLOT(slotActivateTransitionView(Transition *))); m_zoomSlider->setValue(doc->zoom()); connect(m_zoomSlider, SIGNAL(valueChanged(int)), trackView, SLOT(slotChangeZoom(int))); connect(trackView->projectView(), SIGNAL(zoomIn()), this, SLOT(slotZoomIn())); @@ -2293,6 +2298,7 @@ void MainWindow::slotShowClipProperties(DocClipBase *clip) //m_clipManager->slotEditTextClipFile(id, dia_ui->xml().toString()); QMap newprops; newprops.insert("xmldata", dia_ui->xml().toString()); + newprops.insert("frame_size", QString::number(pix.width()) + 'x' + QString::number(pix.height())); EditClipCommand *command = new EditClipCommand(m_projectList, clip->getId(), clip->properties(), newprops, true); m_activeDocument->commandStack()->push(command); m_clipMonitor->refreshMonitor(true);