insilmaril@19: #include insilmaril@2: //Added by qt3to4: insilmaril@2: #include insilmaril@2: insilmaril@2: #include "file.h" insilmaril@2: #include "imports.h" insilmaril@2: #include "linkablemapobj.h" insilmaril@2: #include "misc.h" insilmaril@2: #include "mainwindow.h" insilmaril@2: #include "xsltproc.h" insilmaril@2: insilmaril@2: extern Main *mainWindow; insilmaril@2: extern QDir vymBaseDir; insilmaril@2: insilmaril@2: ImportBase::ImportBase() insilmaril@2: { insilmaril@2: // Create tmpdir insilmaril@19: // FIXME not neededtmpDir.setPath (makeUniqueDir("/tmp/vym-XXXXXX")); insilmaril@19: if (!tmpDir.cd ("tmp")) insilmaril@19: qWarning ("Could not access temporary directory for export"); insilmaril@19: // FIXME insilmaril@2: } insilmaril@2: insilmaril@2: insilmaril@2: ImportBase::~ImportBase() insilmaril@2: { insilmaril@2: // Remove tmpdir insilmaril@2: removeDir (tmpDir); insilmaril@2: } insilmaril@2: insilmaril@2: void ImportBase::setDir(const QString &p) insilmaril@2: { insilmaril@2: inputDir=p; insilmaril@2: } insilmaril@2: insilmaril@2: void ImportBase::setFile (const QString &p) insilmaril@2: { insilmaril@2: inputFile=p; insilmaril@2: } insilmaril@2: insilmaril@2: void ImportBase::setMapCenter(MapCenterObj *mc) insilmaril@2: { insilmaril@2: mapCenter=mc; insilmaril@2: } insilmaril@2: insilmaril@2: bool ImportBase::transform() insilmaril@2: { insilmaril@2: return true; insilmaril@2: } insilmaril@2: insilmaril@2: QString ImportBase::getTransformedFile() insilmaril@2: { insilmaril@2: return transformedFile; insilmaril@2: } insilmaril@2: insilmaril@2: ///////////////////////////////////////////////// insilmaril@2: bool ImportKDEBookmarks::transform() insilmaril@2: { insilmaril@2: transformedFile=tmpDir.path()+"/bookmarks.xml"; insilmaril@2: insilmaril@2: XSLTProc p; insilmaril@2: p.setInputFile (tmpDir.home().path()+"/.kde/share/apps/konqueror/bookmarks.xml"); insilmaril@2: p.setOutputFile (transformedFile); insilmaril@2: p.setXSLFile (vymBaseDir.path()+"/styles/kdebookmarks2vym.xsl"); insilmaril@2: p.process(); insilmaril@2: insilmaril@2: return true; insilmaril@2: } insilmaril@2: insilmaril@2: insilmaril@2: ///////////////////////////////////////////////// insilmaril@2: bool ImportFirefoxBookmarks::transform() insilmaril@2: { insilmaril@2: transformedFile=tmpDir.path()+"/bookmarks.xml"; insilmaril@2: insilmaril@2: QStringList lines; insilmaril@2: QFile file( inputFile ); insilmaril@2: if ( file.open( QIODevice::ReadOnly ) ) insilmaril@2: { insilmaril@2: QTextStream stream( &file ); insilmaril@2: while ( !stream.atEnd() ) insilmaril@2: lines += stream.readLine(); // line of text excluding '\n' insilmaril@2: file.close(); insilmaril@2: } insilmaril@2: // FIXME insilmaril@2: // Generate vym from broken bookmarks above... insilmaril@2: insilmaril@2: return true; insilmaril@2: } insilmaril@2: insilmaril@2: insilmaril@2: ///////////////////////////////////////////////// insilmaril@2: bool ImportMM::transform() insilmaril@2: { insilmaril@2: // try to unzip insilmaril@2: if (success==unzipDir (tmpDir, inputFile)) insilmaril@2: { insilmaril@2: insilmaril@2: // Set short name, too. Search from behind: insilmaril@2: transformedFile=inputFile; insilmaril@2: int i=transformedFile.findRev("/"); insilmaril@2: if (i>=0) transformedFile=transformedFile.remove (0,i+1); insilmaril@2: transformedFile.replace(".mmap",".xml"); insilmaril@2: transformedFile=tmpDir.path()+"/"+transformedFile; insilmaril@2: insilmaril@2: XSLTProc p; insilmaril@2: p.setInputFile (tmpDir.path()+"/Document.xml"); insilmaril@2: p.setOutputFile (transformedFile); insilmaril@2: p.setXSLFile (vymBaseDir.path()+"/styles/mmap2vym.xsl"); insilmaril@2: p.process(); insilmaril@2: insilmaril@2: cout << " xslt done"<