void DocbookGenerator::slotDocbookGenerationFinished(const QString& tmpFileName) { uDebug() << "Generation Finished" << tmpFileName; #if QT_VERSION >= 0x050000 QUrl url = umlDoc->url(); #else KUrl url = umlDoc->url(); #endif QString fileName = url.fileName(); fileName.replace(QRegExp(QLatin1String(".xmi$")), QLatin1String(".docbook")); #if QT_VERSION >= 0x050000 url.setPath(m_destDir.path() + QLatin1Char('/') + fileName); #else url.setPath(m_destDir.path()); url.addPath(fileName); #endif #if QT_VERSION >= 0x050000 KIO::Job* job = KIO::file_copy(QUrl::fromLocalFile(tmpFileName), url, -1, KIO::Overwrite | KIO::HideProgressInfo); KJobWidgets::setWindow(job, (QWidget*)UMLApp::app()); job->exec(); if (!job->error()) { #else KIO::Job* job = KIO::file_copy(KUrl::fromPath(tmpFileName), url, -1, KIO::Overwrite | KIO::HideProgressInfo); if (KIO::NetAccess::synchronousRun(job, (QWidget*)UMLApp::app())) { #endif umlDoc->writeToStatusBar(i18n("Docbook Generation Complete...")); m_pStatus = true; } else { umlDoc->writeToStatusBar(i18n("Docbook Generation Failed...")); m_pStatus = false; } while (m_pThreadFinished == false) { // wait for thread to finish qApp->processEvents(); } emit finished(m_pStatus); } void DocbookGenerator::threadFinished() { m_pThreadFinished = true; delete docbookGeneratorJob; docbookGeneratorJob = 0; }