bool VideoPreview::createThumbnails() { clearThumbnails(); error_message.clear(); button_box->setEnabled(false); bool result = extractImages(); progress->close(); if ((result == false) && (!error_message.isEmpty())) { QMessageBox::critical(this, tr("Error"), tr("The following error has occurred while creating the thumbnails:")+"\n"+ error_message ); } button_box->setEnabled(true); // Adjust size //resize( w_contents->sizeHint() ); cleanDir(full_output_dir); return result; }
KoFilter::ConversionStatus ExportHtml::convert(const QByteArray &from, const QByteArray &to) { // Check mimetypes if (from != "application/vnd.oasis.opendocument.text" || to != "text/html") { return KoFilter::NotImplemented; } // Open the infile and return an error if it fails. KoStore *odfStore = KoStore::createStore(m_chain->inputFile(), KoStore::Read, "", KoStore::Auto); if (!odfStore->open("mimetype")) { kError(30503) << "Unable to open input file!" << endl; delete odfStore; return KoFilter::FileNotFound; } odfStore->close(); // Start the conversion KoFilter::ConversionStatus status; // ---------------------------------------------------------------- // Parse input files OdfParser odfParser; // Parse meta.xml into m_metadata status = odfParser.parseMetadata(odfStore, m_metadata); if (status != KoFilter::OK) { delete odfStore; return status; } // Parse manifest status = odfParser.parseManifest(odfStore, m_manifest); if (status != KoFilter::OK) { delete odfStore; return status; } // ---------------------------------------------------------------- // Create content files. // Create html contents. // m_imagesSrcList is an output parameter from the conversion. HtmlFile html; html.setPathPrefix("./"); const QString outputFileName = m_chain->outputFile().section('/', -1); const int dotPosition = outputFileName.indexOf('.'); html.setFilePrefix(outputFileName.left(dotPosition)); html.setFileSuffix(dotPosition != -1 ? outputFileName.mid(dotPosition) : QString()); OdtHtmlConverter converter; OdtHtmlConverter::ConversionOptions options = { false, // don't put styles in css file false, // don't break into chapters false // It is not mobi. }; QHash<QString, QString> mediaFilesList; status = converter.convertContent(odfStore, m_metadata, &m_manifest, &options, &html, m_imagesSrcList, mediaFilesList); if (status != KoFilter::OK) { delete odfStore; return status; } // Extract images status = extractImages(odfStore, &html); if (status != KoFilter::OK) { delete odfStore; return status; } // ---------------------------------------------------------------- // Write the finished html file to disk html.writeHtml(m_chain->outputFile()); delete odfStore; return KoFilter::OK; }