insilmaril@205: #include insilmaril@205: insilmaril@215: #include "file.h" insilmaril@205: #include "imports.h" insilmaril@205: #include "linkablemapobj.h" insilmaril@205: #include "misc.h" insilmaril@205: #include "mainwindow.h" insilmaril@205: #include "xsltproc.h" insilmaril@205: insilmaril@205: extern Main *mainWindow; insilmaril@215: extern QDir vymBaseDir; insilmaril@205: insilmaril@205: ImportBase::ImportBase() insilmaril@205: { insilmaril@205: // Create tmpdir insilmaril@205: tmpDir.setPath (makeUniqueDir("/tmp/vym-XXXXXX")); insilmaril@205: } insilmaril@205: insilmaril@205: insilmaril@205: ImportBase::~ImportBase() insilmaril@205: { insilmaril@205: // Remove tmpdir insilmaril@228: removeDir (tmpDir); insilmaril@205: } insilmaril@205: insilmaril@205: void ImportBase::setDir(const QString &p) insilmaril@205: { insilmaril@205: inputDir=p; insilmaril@205: } insilmaril@205: insilmaril@205: void ImportBase::setFile (const QString &p) insilmaril@205: { insilmaril@205: inputFile=p; insilmaril@205: } insilmaril@205: insilmaril@205: void ImportBase::setMapCenter(MapCenterObj *mc) insilmaril@205: { insilmaril@205: mapCenter=mc; insilmaril@205: } insilmaril@205: insilmaril@215: bool ImportBase::transform() insilmaril@215: { insilmaril@215: return true; insilmaril@215: } insilmaril@215: insilmaril@215: QString ImportBase::getTransformedFile() insilmaril@215: { insilmaril@215: return transformedFile; insilmaril@215: } insilmaril@215: insilmaril@205: ///////////////////////////////////////////////// insilmaril@215: bool ImportKDEBookmarks::transform() insilmaril@205: { insilmaril@205: transformedFile=tmpDir.path()+"/bookmarks.xml"; insilmaril@205: insilmaril@205: XSLTProc p; insilmaril@205: p.setInputFile (tmpDir.home().path()+"/.kde/share/apps/konqueror/bookmarks.xml"); insilmaril@205: p.setOutputFile (transformedFile); insilmaril@215: p.setXSLFile (vymBaseDir.path()+"/styles/kdebookmarks2vym.xsl"); insilmaril@205: p.process(); insilmaril@215: insilmaril@215: return true; insilmaril@205: } insilmaril@205: insilmaril@215: insilmaril@215: ///////////////////////////////////////////////// insilmaril@215: bool ImportMM::transform() insilmaril@205: { insilmaril@215: // try to unzip insilmaril@215: if (success==unzipDir (tmpDir, inputFile)) insilmaril@215: { insilmaril@215: cout << "Unzipped "<=0) transformedFile=transformedFile.remove (0,i+1); insilmaril@215: transformedFile.replace(".mmap",".xml"); insilmaril@215: transformedFile=tmpDir.path()+"/"+transformedFile; insilmaril@215: cout << " transformedFile="<