X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fdvdwizard.cpp;h=840a74cac19f204ea377873a2415a9025c4794af;hb=12c52e2d2e97f703714b83dfd385db2de5f03f18;hp=e087e520fd2ae4687b67e4948c077feef76e43c2;hpb=da867704bf6027e11c94e5492ba87b7c1f269e39;p=kdenlive diff --git a/src/dvdwizard.cpp b/src/dvdwizard.cpp index e087e520..840a74ca 100644 --- a/src/dvdwizard.cpp +++ b/src/dvdwizard.cpp @@ -66,6 +66,7 @@ DvdWizard::DvdWizard(const QString &url, const QString &profile, QWidget *parent page4->setTitle(i18n("Creating DVD Image")); m_status.setupUi(page4); m_status.error_box->setHidden(true); + m_status.error_box->setTabBarHidden(true); m_status.tmp_folder->setUrl(KUrl(KdenliveSettings::currenttmpfolder())); m_status.tmp_folder->setMode(KFile::Directory | KFile::ExistingOnly); m_status.iso_image->setUrl(KUrl(QDir::homePath() + "/untitled.iso")); @@ -153,6 +154,10 @@ void DvdWizard::slotPageChanged(int page) void DvdWizard::generateDvd() { m_status.error_box->setHidden(true); + m_status.error_box->setCurrentIndex(0); + m_status.error_box->setTabBarHidden(true); + m_status.menu_file->clear(); + m_status.dvd_file->clear(); KTemporaryFile temp1; temp1.setSuffix(".png"); //temp1.setAutoRemove(false); @@ -330,6 +335,9 @@ void DvdWizard::generateDvd() spuitem->setIcon(KIcon("dialog-close")); m_status.error_log->append(result); m_status.error_box->setHidden(false); + m_status.error_box->setTabBarHidden(false); + m_status.menu_file->setPlainText(m_menuFile.readAll()); + m_status.dvd_file->setPlainText(m_authorFile.readAll()); m_status.button_start->setEnabled(true); kDebug() << "/// RENDERING SPUMUX MENU crashed"; return; @@ -340,6 +348,9 @@ void DvdWizard::generateDvd() m_status.error_log->append("
" + i18n("Menu job timed out")); m_status.error_log->scrollToAnchor("result"); m_status.error_box->setHidden(false); + m_status.error_box->setTabBarHidden(false); + m_status.menu_file->setPlainText(m_menuFile.readAll()); + m_status.dvd_file->setPlainText(m_authorFile.readAll()); m_status.button_start->setEnabled(true); return; } @@ -445,7 +456,7 @@ void DvdWizard::generateDvd() QDomText call; if (i == voburls.count() - 1) call = dvddoc.createTextNode("{g1 = 0; call menu;}"); else { - call = dvddoc.createTextNode("{if ( g1 eq 999 ) { call menu; } jump title " + QString::number(i + 2) + ";}"); + call = dvddoc.createTextNode("{if ( g1 eq 999 ) { call menu; } jump title " + QString::number(i + 2).rightJustified(2, '0') + ";}"); } post.appendChild(call); pgc2.appendChild(post); @@ -474,6 +485,16 @@ void DvdWizard::generateDvd() } m_creationLog.clear(); m_dvdauthor = new QProcess(this); + // Set VIDEO_FORMAT variable (required by dvdauthor 0.7) +#if QT_VERSION >= 0x040600 + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert("VIDEO_FORMAT", m_pageVob->isPal() ? "PAL" : "NTSC"); + m_dvdauthor->setProcessEnvironment(env); +#else + QStringList env = QProcess::systemEnvironment(); + env << QString("VIDEO_FORMAT=") + QString(m_pageVob->isPal() ? "PAL" : "NTSC"); + m_dvdauthor->setEnvironment(env); +#endif connect(m_dvdauthor, SIGNAL(finished(int , QProcess::ExitStatus)), this, SLOT(slotRenderFinished(int, QProcess::ExitStatus))); connect(m_dvdauthor, SIGNAL(readyReadStandardOutput()), this, SLOT(slotShowRenderInfo())); m_dvdauthor->setProcessChannelMode(QProcess::MergedChannels); @@ -495,10 +516,13 @@ void DvdWizard::slotRenderFinished(int exitCode, QProcess::ExitStatus status) if (status == QProcess::CrashExit || exitCode != 0) { QString result(m_dvdauthor->readAllStandardError()); result.append("

"); - result.append(i18n("DVDAuthor process crashed.")); + result.append(i18n("DVDAuthor process crashed.
")); m_status.error_log->append(result); m_status.error_log->scrollToAnchor("result"); m_status.error_box->setHidden(false); + m_status.error_box->setTabBarHidden(false); + m_status.menu_file->setPlainText(m_menuFile.readAll()); + m_status.dvd_file->setPlainText(m_authorFile.readAll()); kDebug() << "DVDAuthor process crashed"; authitem->setIcon(KIcon("dialog-close")); m_dvdauthor->close(); @@ -520,6 +544,9 @@ void DvdWizard::slotRenderFinished(int exitCode, QProcess::ExitStatus status) m_status.error_log->append(m_creationLog + "

" + i18n("DVD structure broken")); m_status.error_log->scrollToAnchor("result"); m_status.error_box->setHidden(false); + m_status.error_box->setTabBarHidden(false); + m_status.menu_file->setPlainText(m_menuFile.readAll()); + m_status.dvd_file->setPlainText(m_authorFile.readAll()); kDebug() << "DVDAuthor process crashed"; authitem->setIcon(KIcon("dialog-close")); m_status.button_start->setEnabled(true); @@ -569,6 +596,9 @@ void DvdWizard::slotIsoFinished(int exitCode, QProcess::ExitStatus status) m_status.error_log->append(result); m_status.error_log->scrollToAnchor("result"); m_status.error_box->setHidden(false); + m_status.error_box->setTabBarHidden(false); + m_status.menu_file->setPlainText(m_menuFile.readAll()); + m_status.dvd_file->setPlainText(m_authorFile.readAll()); m_mkiso->close(); delete m_mkiso; m_mkiso = NULL; @@ -595,6 +625,9 @@ void DvdWizard::slotIsoFinished(int exitCode, QProcess::ExitStatus status) m_status.error_log->append(m_creationLog + "
" + i18n("DVD ISO is broken") + ""); m_status.error_log->scrollToAnchor("result"); m_status.error_box->setHidden(false); + m_status.error_box->setTabBarHidden(false); + m_status.menu_file->setPlainText(m_menuFile.readAll()); + m_status.dvd_file->setPlainText(m_authorFile.readAll()); isoitem->setIcon(KIcon("dialog-close")); cleanup(); return;