diff -r 38ad83f1d4ce -r 654ad4b03c5a exports.cpp --- a/exports.cpp Wed Mar 01 14:39:05 2006 +0000 +++ b/exports.cpp Tue Mar 07 11:32:00 2006 +0000 @@ -1,3 +1,4 @@ +#include #include #include "exports.h" @@ -5,12 +6,23 @@ #include "linkablemapobj.h" #include "misc.h" #include "mainwindow.h" +#include "xsltproc.h" extern Main *mainWindow; +extern QDir vymBaseDir; + ExportBase::ExportBase() { indentPerDepth=" "; + // Create tmpdir + tmpDir.setPath (makeUniqueDir("/tmp/vym-XXXXXX")); +} + +ExportBase::~ExportBase() +{ + // Remove tmpdir + removeDir (tmpDir); } void ExportBase::setDir(const QString &p) @@ -28,6 +40,57 @@ mapCenter=mc; } +void ExportBase::setCaption (const QString &s) +{ + caption=s; +} + +void ExportBase::addFilter(const QString &s) +{ + filter=s; +} + +bool ExportBase::execDialog() +{ + if (mapCenter && mapCenter->getMapEditor()) + { + QFileDialog *fd=new QFileDialog( mapCenter->getMapEditor(), caption); + fd->addFilter (filter); + fd->setCaption(caption); + fd->setMode( QFileDialog::AnyFile ); + fd->show(); + + if ( fd->exec() == QDialog::Accepted ) + { + if (QFile (fd->selectedFile()).exists() ) + { + QMessageBox mb( __VYM, + QObject::tr("The file %1 exists already.\nDo you want to overwrite it?").arg(fd->selectedFile()), + QMessageBox::Warning, + QMessageBox::Yes | QMessageBox::Default, + QMessageBox::Cancel | QMessageBox::Escape, + QMessageBox::NoButton ); + mb.setButtonText( QMessageBox::Yes, QObject::tr("Overwrite") ); + mb.setButtonText( QMessageBox::No, QObject::tr("Cancel")); + ExportBase ex; + switch( mb.exec() ) + { + case QMessageBox::Yes: + // save + break;; + case QMessageBox::Cancel: + // return, do nothing + return false; + break; + } + } + outputFile=fd->selectedFile(); + return true; + } + } + return false; +} + QString ExportBase::getSectionString(BranchObj *bostart) { // Make prefix like "2.5.3" for "bo:2,bo:5,bo:3" @@ -46,13 +109,13 @@ return r + " "; } -void ExportBase::exportXML() +void ExportASCII::doExport() { QFile file (outputFile); if ( !file.open( IO_WriteOnly ) ) { // FIXME experimental, testing - cout << "ExportBase::exportXML couldn't open "<getMapEditor(); + if (me) + { + me->exportXML(tmpDir.path()); + //FIXME testing + cout << "tmpDir="<getMapName()+".xml"); + p.setOutputFile (outputFile); + p.setXSLFile (vymBaseDir.path()+"/styles/vym2taskjuggler.xsl"); + p.process(); + } + +} + +void ExportLaTeX::doExport() { // Exports a map to a LaTex file. // This file needs to be included @@ -149,14 +231,10 @@ ExportOO::ExportOO() { useSections=false; - // Create tmpdir - tmpDir.setPath (makeUniqueDir("/tmp/vym-XXXXXX")); } ExportOO::~ExportOO() { - // Remove tmpdir - removeDir (tmpDir); } QString ExportOO::buildList (BranchObj *current)