diff -r ab83f030285e -r bc9083a4a7fb mainwindow.cpp --- a/mainwindow.cpp Mon Jul 30 09:47:08 2007 +0000 +++ b/mainwindow.cpp Mon Jul 30 09:47:09 2007 +0000 @@ -310,6 +310,11 @@ connect( a, SIGNAL( triggered() ), this, SLOT( fileImportFirefoxBookmarks() ) ); } + a = new QAction("Freemind...",this); + a->setStatusTip ( tr( "Import %1","status tip file menu").arg(" Freemind") ); + fileImportMenu->addAction (a); + connect( a, SIGNAL( triggered() ), this, SLOT( fileImportFreemind() ) ); + a = new QAction("Mind Manager...",this); a->setStatusTip ( tr( "Import %1","status tip file menu").arg(" Mind Manager") ); fileImportMenu->addAction (a); @@ -1817,13 +1822,13 @@ newME->setSmoothPixmap(actionViewToggleSmoothPixmapTransform->isOn()); // For the very first map we do not have flagrows yet... newME->select("mc:"); - newME->load (clipboardDir+"/"+clipboardFile,ImportReplace); + newME->load (clipboardDir+"/"+clipboardFile,ImportReplace, VymMap); } } } -ErrorCode Main::fileLoad(QString fn, const LoadMode &lmode) +ErrorCode Main::fileLoad(QString fn, const LoadMode &lmode, const FileType &ftype) { ErrorCode err=success; @@ -1990,7 +1995,7 @@ // Finally load map into mapEditor me->setFilePath (mapfile,fn); - err=me->load(mapfile,lmode); + err=me->load(mapfile,lmode,ftype); // Restore old (maybe empty) filepath, if this is an import if (lmode!=NewMap) @@ -2311,7 +2316,7 @@ { im.setFile (*it); if (im.transform() && - success==fileLoad (im.getTransformedFile(),NewMap) && + success==fileLoad (im.getTransformedFile(),NewMap,FreemindMap) && currentMapEditor() ) currentMapEditor()->setFilePath (""); ++it; @@ -2320,6 +2325,37 @@ delete (fd); } +void Main::fileImportFreemind() +{ + QStringList filters; + filters <<"Freemind map (*.mm)"<<"All files (*)"; + QFileDialog *fd=new QFileDialog( this); + fd->setDir (lastFileDir); + fd->setFileMode (QFileDialog::ExistingFiles); + fd->setFilters (filters); + fd->setCaption(vymName+ " - " +tr("Load Freemind map")); + fd->show(); + + QString fn; + if ( fd->exec() == QDialog::Accepted ) + { + lastFileDir=fd->directory().path(); + QStringList flist = fd->selectedFiles(); + QStringList::Iterator it = flist.begin(); + while( it != flist.end() ) + { + fn = *it; + if ( fileLoad (fn,NewMap, FreemindMap) ) + { + currentMapEditor()->setFilePath (""); + } + ++it; + } + } + delete (fd); +} + + void Main::fileImportMM() { ImportMM im;