X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fdvdwizardchapters.cpp;h=ebd9d38e838a1d9dd36743c4213b9750affbe3b5;hb=103b8bfb99bd931a9d4151ece2560a9c8f98fa40;hp=52464b3f6a10bfa296046876f91dcc283923e024;hpb=a1f0a54b93ab364a37fd8242c1881c61d066ada7;p=kdenlive diff --git a/src/dvdwizardchapters.cpp b/src/dvdwizardchapters.cpp index 52464b3f..ebd9d38e 100644 --- a/src/dvdwizardchapters.cpp +++ b/src/dvdwizardchapters.cpp @@ -23,9 +23,9 @@ #include -DvdWizardChapters::DvdWizardChapters(bool isPal, QWidget *parent) : +DvdWizardChapters::DvdWizardChapters(DVDFORMAT format, QWidget *parent) : QWizardPage(parent), - m_isPal(isPal), + m_format(format), m_monitor(NULL) { @@ -37,7 +37,7 @@ DvdWizardChapters::DvdWizardChapters(bool isPal, QWidget *parent) : // Build monitor for chapters - if (m_isPal) m_tc.setFormat(25); + if (m_format == PAL || m_format == PAL_WIDE) m_tc.setFormat(25); else m_tc.setFormat(30000.0 / 1001); m_manager = new MonitorManager(this); @@ -75,7 +75,7 @@ void DvdWizardChapters::slotUpdateChaptersList() // insert chapters QStringList chaptersString; for (int i = 0; i < currentChaps.count(); i++) { - chaptersString.append(Timecode::getStringTimecode(currentChaps.at(i).toInt(), m_tc.fps())); + chaptersString.append(Timecode::getStringTimecode(currentChaps.at(i).toInt(), m_tc.fps(), true)); } m_view.chapters_list->clear(); m_view.chapters_list->addItems(chaptersString); @@ -98,7 +98,7 @@ void DvdWizardChapters::slotAddChapter() QStringList chaptersString; currentChaps.clear(); for (int i = 0; i < chapterTimes.count(); i++) { - chaptersString.append(Timecode::getStringTimecode(chapterTimes.at(i), m_tc.fps())); + chaptersString.append(Timecode::getStringTimecode(chapterTimes.at(i), m_tc.fps(), true)); currentChaps.append(QString::number(chapterTimes.at(i))); } // Save item chapters @@ -123,7 +123,7 @@ void DvdWizardChapters::slotRemoveChapter() // rebuild chapters QStringList chaptersString; for (int i = 0; i < currentChaps.count(); i++) { - chaptersString.append(Timecode::getStringTimecode(currentChaps.at(i).toInt(), m_tc.fps())); + chaptersString.append(Timecode::getStringTimecode(currentChaps.at(i).toInt(), m_tc.fps(), true)); } m_view.chapters_list->clear(); m_view.chapters_list->addItems(chaptersString); @@ -131,21 +131,18 @@ void DvdWizardChapters::slotRemoveChapter() void DvdWizardChapters::slotGoToChapter() { - if (m_view.chapters_list->currentItem()) m_monitor->setTimePos(m_tc.reformatSeparators(m_view.chapters_list->currentItem()->text() + ":00")); + if (m_view.chapters_list->currentItem()) m_monitor->setTimePos(m_tc.reformatSeparators(m_view.chapters_list->currentItem()->text())); } -void DvdWizardChapters::setVobFiles(bool isPal, bool isWide, const QStringList &movies, const QStringList &durations, const QStringList &chapters) +void DvdWizardChapters::setVobFiles(DVDFORMAT format, const QStringList &movies, const QStringList &durations, const QStringList &chapters) { - m_isPal = isPal; - QString profile; - if (m_isPal) { + m_format = format; + QString profile = DvdWizardVob::getDvdProfile(format); + if (m_format == PAL || m_format == PAL_WIDE) { m_tc.setFormat(25); - profile = "dv_pal"; } else { m_tc.setFormat(30000.0 / 1001); - profile = "dv_ntsc"; } - if (isWide) profile.append("_wide"); m_manager->resetProfiles(m_tc); if (m_monitor == NULL) { m_monitor = new Monitor(Kdenlive::dvdMonitor, m_manager, profile, this); @@ -186,7 +183,7 @@ QStringList DvdWizardChapters::selectedTitles() const result.append(m_view.vob_list->itemText(i)); QStringList chapters = m_view.vob_list->itemData(i, Qt::UserRole + 1).toStringList(); for (int j = 0; j < chapters.count(); j++) { - result.append(Timecode::getStringTimecode(chapters.at(j).toInt(), m_tc.fps())); + result.append(Timecode::getStringTimecode(chapters.at(j).toInt(), m_tc.fps(), true)); } } return result; @@ -197,7 +194,7 @@ QStringList DvdWizardChapters::chapters(int ix) const QStringList result; QStringList chapters = m_view.vob_list->itemData(ix, Qt::UserRole + 1).toStringList(); for (int j = 0; j < chapters.count(); j++) { - result.append(Timecode::getStringTimecode(chapters.at(j).toInt(), m_tc.fps())); + result.append(Timecode::getStringTimecode(chapters.at(j).toInt(), m_tc.fps(), true)); } return result; }