void TestRun::convert(QBuffer& buffer, KoStore::Backend backend) { KoStore* output = KoStore::createStore(&buffer, KoStore::Write, KoOdf::mimeType(KoOdf::Presentation), backend); POLE::Storage storage(inputFilePath.toAscii()); QVERIFY(storage.open()); PptToOdp ppttoodp(0, 0); KoFilter::ConversionStatus status = ppttoodp.convert(storage, output); QVERIFY(status == KoFilter::OK); }
QString koppttoodp(const QString& from) { QDir d(QDir::temp().filePath("slidecompare-" + QDir::home().dirName())); QString dirpath = d.absolutePath(); d.mkpath(dirpath); QString to = dirpath + QDir::separator() + QFileInfo(from).baseName() + ".odp"; QFile::remove(to); PptToOdp ppttoodp(0, 0); ppttoodp.convert(from, to, KoStore::Zip); return to; }
int convert(const QString& in, KoStore* out) { // open inputFile POLE::Storage storage(in.toLocal8Bit()); if (!storage.open()) { qDebug() << "Cannot open " << in; return KoFilter::StupidError; } PptToOdp ppttoodp(0, 0); return ppttoodp.convert(storage, out); }
int main(int argc, char** argv) { if (argc != 2 && argc != 3) { return 1; } QCoreApplication app(argc, argv); const QString file1 = argv[1]; QString file2; if (argc == 3) { file2 = argv[2]; } QFileInfo in(file1); if (in.isDir()) { QDir d(argv[1]); // output convertAllFilesInDir(d, file2); return 0; } // open inputFile POLE::Storage storage(file1.toLocal8Bit()); if (!storage.open()) { qDebug() << "Cannot open " << file1; return KoFilter::StupidError; } // create output store KoStore* storeout; QBuffer buffer; if (file2.isNull()) { storeout = KoStore::createStore(&buffer, KoStore::Write, KoOdf::mimeType(KoOdf::Presentation), KoStore::Tar); } else { storeout = KoStore::createStore(file2, KoStore::Write, KoOdf::mimeType(KoOdf::Presentation), KoStore::Zip); } if (!storeout) { return KoFilter::FileNotFound; } PptToOdp ppttoodp(0, 0); int r = ppttoodp.convert(storage, storeout); delete storeout; return r; }