X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fdvdwizardchapters.cpp;fp=src%2Fdvdwizardchapters.cpp;h=d95da170b8bae5f7061e9f8554752e52c72244bb;hb=b94d740d404a3528c7d93a5ea2c734d9a092d78a;hp=12dee110cf591118b411b52558229d73a3b99db2;hpb=1f5c19bcf720efb573fd7320a149fe6c17cf4fd7;p=kdenlive diff --git a/src/dvdwizardchapters.cpp b/src/dvdwizardchapters.cpp index 12dee110..d95da170 100644 --- a/src/dvdwizardchapters.cpp +++ b/src/dvdwizardchapters.cpp @@ -40,15 +40,13 @@ DvdWizardChapters::DvdWizardChapters(MonitorManager *manager, DVDFORMAT format, if (m_format == PAL || m_format == PAL_WIDE) m_tc.setFormat(25); else m_tc.setFormat(30000.0 / 1001); - show(); - setVobFiles(format, QStringList(), QStringList(), QStringList()); - //m_view.monitor_frame->setVisible(false); } DvdWizardChapters::~DvdWizardChapters() { if (m_monitor) { + m_manager->removeMonitor(m_monitor); m_monitor->stop(); delete m_monitor; } @@ -66,6 +64,11 @@ void DvdWizardChapters::stopMonitor() if (m_monitor) m_monitor->stop(); } +void DvdWizardChapters::refreshMonitor() +{ + if (m_monitor) m_monitor->refreshMonitor(); +} + void DvdWizardChapters::slotUpdateChaptersList() { m_monitor->slotOpenFile(m_view.vob_list->currentText()); @@ -134,6 +137,21 @@ void DvdWizardChapters::slotGoToChapter() if (m_view.chapters_list->currentItem()) m_monitor->setTimePos(m_tc.reformatSeparators(m_view.chapters_list->currentItem()->text())); } +void DvdWizardChapters::createMonitor(DVDFORMAT format) +{ + QString profile = DvdWizardVob::getDvdProfile(format); + if (m_monitor == NULL) { + m_monitor = new Monitor(Kdenlive::dvdMonitor, m_manager, profile, this); + //m_monitor->start(); + QVBoxLayout *vbox = new QVBoxLayout; + vbox->addWidget(m_monitor); + m_view.video_frame->setLayout(vbox); + m_monitor->setSizePolicy(QSizePolicy ( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); + m_manager->appendMonitor(m_monitor); + vbox->insertWidget(0, m_monitor, 10); + } +} + void DvdWizardChapters::setVobFiles(DVDFORMAT format, const QStringList &movies, const QStringList &durations, const QStringList &chapters) { m_format = format; @@ -143,17 +161,9 @@ void DvdWizardChapters::setVobFiles(DVDFORMAT format, const QStringList &movies, } else { m_tc.setFormat(30000.0 / 1001); } - if (m_monitor == NULL) { - m_monitor = new Monitor(Kdenlive::dvdMonitor, m_manager, profile, this); - //m_monitor->start(); - /*QVBoxLayout *vbox = new QVBoxLayout; - vbox->addWidget(m_monitor); - m_view.monitor_frame->setLayout(vbox);*/ - QVBoxLayout *lay = static_cast (layout()); - m_monitor->setSizePolicy(QSizePolicy ( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); - lay->insertWidget(0, m_monitor, 10); - } else m_monitor->resetProfile(profile); - m_manager->activateMonitor(Kdenlive::dvdMonitor); + + if (m_monitor == NULL) createMonitor(format); + m_monitor->setCustomProfile(profile, m_tc); m_view.vob_list->blockSignals(true); m_view.vob_list->clear(); @@ -163,6 +173,11 @@ void DvdWizardChapters::setVobFiles(DVDFORMAT format, const QStringList &movies, } m_view.vob_list->blockSignals(false); slotUpdateChaptersList(); + setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); + adjustSize(); + updateGeometry(); + m_manager->activateMonitor(Kdenlive::dvdMonitor); + m_monitor->refreshMonitor(); } QMap DvdWizardChapters::chaptersData() const