1.1 --- a/aboutdialog.cpp Wed Mar 01 14:39:05 2006 +0000
1.2 +++ b/aboutdialog.cpp Tue Mar 07 11:32:00 2006 +0000
1.3 @@ -41,13 +41,12 @@
1.4 "</ul>"
1.5 "<li> Credits "
1.6 "<ul>"
1.7 + "<li>Matt from <a href=\"http://www.satbp.com\">www.satbp.com</a> for <a href=\"http://www.taskjuggler.org\">Taskjuggler</a> export</li>"
1.8 "<li>Jakob Hilmer for image drag and drop, "About vym" window patch </li>"
1.9 "<li>Thomas Schraitle for the stylesheet used for XHTML-export </li>"
1.10 "<li>Debianization by Christoph Thielecke and Steffen Joeris</li>"
1.11 - "<li>Clemens Kraus for stylesheets and script used for HTML-export "
1.12 + "<li>Clemens Kraus for HTML-export "
1.13 "<a href=\"http://www.clemens-kraus.de\">(www.clemens-kraus.de)</a></li>"
1.14 - "<li>Alexander Johannesen for providing stylesheets from his xsiteable project "
1.15 - "<a href=\"http://www.shelter.nu/xsiteable/xsiteable.html\">(www.shelter.nu/xsiteable/xsiteable.html)</a>. </li>"
1.16 "<li>Ken Wimer and Olaf Hering for Mac support</li>"
1.17 "</ul>"
1.18 "</li>");
2.1 Binary file demos/todo.vym has changed
3.1 --- a/exports.cpp Wed Mar 01 14:39:05 2006 +0000
3.2 +++ b/exports.cpp Tue Mar 07 11:32:00 2006 +0000
3.3 @@ -1,3 +1,4 @@
3.4 +#include <qfiledialog.h>
3.5 #include <qmessagebox.h>
3.6
3.7 #include "exports.h"
3.8 @@ -5,12 +6,23 @@
3.9 #include "linkablemapobj.h"
3.10 #include "misc.h"
3.11 #include "mainwindow.h"
3.12 +#include "xsltproc.h"
3.13
3.14 extern Main *mainWindow;
3.15 +extern QDir vymBaseDir;
3.16 +
3.17
3.18 ExportBase::ExportBase()
3.19 {
3.20 indentPerDepth=" ";
3.21 + // Create tmpdir
3.22 + tmpDir.setPath (makeUniqueDir("/tmp/vym-XXXXXX"));
3.23 +}
3.24 +
3.25 +ExportBase::~ExportBase()
3.26 +{
3.27 + // Remove tmpdir
3.28 + removeDir (tmpDir);
3.29 }
3.30
3.31 void ExportBase::setDir(const QString &p)
3.32 @@ -28,6 +40,57 @@
3.33 mapCenter=mc;
3.34 }
3.35
3.36 +void ExportBase::setCaption (const QString &s)
3.37 +{
3.38 + caption=s;
3.39 +}
3.40 +
3.41 +void ExportBase::addFilter(const QString &s)
3.42 +{
3.43 + filter=s;
3.44 +}
3.45 +
3.46 +bool ExportBase::execDialog()
3.47 +{
3.48 + if (mapCenter && mapCenter->getMapEditor())
3.49 + {
3.50 + QFileDialog *fd=new QFileDialog( mapCenter->getMapEditor(), caption);
3.51 + fd->addFilter (filter);
3.52 + fd->setCaption(caption);
3.53 + fd->setMode( QFileDialog::AnyFile );
3.54 + fd->show();
3.55 +
3.56 + if ( fd->exec() == QDialog::Accepted )
3.57 + {
3.58 + if (QFile (fd->selectedFile()).exists() )
3.59 + {
3.60 + QMessageBox mb( __VYM,
3.61 + QObject::tr("The file %1 exists already.\nDo you want to overwrite it?").arg(fd->selectedFile()),
3.62 + QMessageBox::Warning,
3.63 + QMessageBox::Yes | QMessageBox::Default,
3.64 + QMessageBox::Cancel | QMessageBox::Escape,
3.65 + QMessageBox::NoButton );
3.66 + mb.setButtonText( QMessageBox::Yes, QObject::tr("Overwrite") );
3.67 + mb.setButtonText( QMessageBox::No, QObject::tr("Cancel"));
3.68 + ExportBase ex;
3.69 + switch( mb.exec() )
3.70 + {
3.71 + case QMessageBox::Yes:
3.72 + // save
3.73 + break;;
3.74 + case QMessageBox::Cancel:
3.75 + // return, do nothing
3.76 + return false;
3.77 + break;
3.78 + }
3.79 + }
3.80 + outputFile=fd->selectedFile();
3.81 + return true;
3.82 + }
3.83 + }
3.84 + return false;
3.85 +}
3.86 +
3.87 QString ExportBase::getSectionString(BranchObj *bostart)
3.88 {
3.89 // Make prefix like "2.5.3" for "bo:2,bo:5,bo:3"
3.90 @@ -46,13 +109,13 @@
3.91 return r + " ";
3.92 }
3.93
3.94 -void ExportBase::exportXML()
3.95 +void ExportASCII::doExport()
3.96 {
3.97 QFile file (outputFile);
3.98 if ( !file.open( IO_WriteOnly ) )
3.99 {
3.100 // FIXME experimental, testing
3.101 - cout << "ExportBase::exportXML couldn't open "<<outputFile<<endl;
3.102 + qWarning ("ExportBase::exportXML couldn't open "+outputFile);
3.103 return;
3.104 }
3.105 QTextStream ts( &file ); // use LANG decoding here...
3.106 @@ -95,7 +158,26 @@
3.107 file.close();
3.108 }
3.109
3.110 -void ExportLaTeX::exportLaTeX()
3.111 +void ExportTaskjuggler::doExport()
3.112 +{
3.113 + MapEditor *me=NULL;
3.114 + if (mapCenter) me=mapCenter->getMapEditor();
3.115 + if (me)
3.116 + {
3.117 + me->exportXML(tmpDir.path());
3.118 + //FIXME testing
3.119 + cout << "tmpDir="<<tmpDir.path()<<endl;
3.120 +
3.121 + XSLTProc p;
3.122 + p.setInputFile (tmpDir.path()+"/"+me->getMapName()+".xml");
3.123 + p.setOutputFile (outputFile);
3.124 + p.setXSLFile (vymBaseDir.path()+"/styles/vym2taskjuggler.xsl");
3.125 + p.process();
3.126 + }
3.127 +
3.128 +}
3.129 +
3.130 +void ExportLaTeX::doExport()
3.131 {
3.132 // Exports a map to a LaTex file.
3.133 // This file needs to be included
3.134 @@ -149,14 +231,10 @@
3.135 ExportOO::ExportOO()
3.136 {
3.137 useSections=false;
3.138 - // Create tmpdir
3.139 - tmpDir.setPath (makeUniqueDir("/tmp/vym-XXXXXX"));
3.140 }
3.141
3.142 ExportOO::~ExportOO()
3.143 {
3.144 - // Remove tmpdir
3.145 - removeDir (tmpDir);
3.146 }
3.147
3.148 QString ExportOO::buildList (BranchObj *current)
4.1 --- a/exports.h Wed Mar 01 14:39:05 2006 +0000
4.2 +++ b/exports.h Tue Mar 07 11:32:00 2006 +0000
4.3 @@ -14,28 +14,49 @@
4.4 {
4.5 public:
4.6 ExportBase();
4.7 - void setDir(const QString &);
4.8 - void setFile(const QString &);
4.9 - void setMapCenter (MapCenterObj*);
4.10 - void setIndentPerDepth (QString);
4.11 + virtual ~ExportBase();
4.12 + virtual void setDir(const QString &);
4.13 + virtual void setFile(const QString &);
4.14 + virtual void setMapCenter (MapCenterObj*);
4.15 + virtual void setCaption(const QString &);
4.16 + virtual void addFilter (const QString &);
4.17 + virtual bool execDialog();
4.18 protected:
4.19 - QString getSectionString (BranchObj*);
4.20 -public:
4.21 - void exportXML();
4.22 + virtual QString getSectionString (BranchObj*);
4.23
4.24 -protected:
4.25 QDir tmpDir;
4.26 QString outputDir;
4.27 QString outputFile;
4.28 MapCenterObj *mapCenter;
4.29 QString indentPerDepth;
4.30 + QString caption;
4.31 + QString filter;
4.32 };
4.33
4.34 ///////////////////////////////////////////////////////////////////////
4.35 +class ExportASCII:public ExportBase
4.36 +{
4.37 +public:
4.38 + virtual void doExport();
4.39 +};
4.40 +
4.41 +///////////////////////////////////////////////////////////////////////
4.42 +class ExportXMLBase:public ExportBase
4.43 +{
4.44 +};
4.45 +
4.46 +///////////////////////////////////////////////////////////////////////
4.47 +class ExportTaskjuggler:public ExportXMLBase
4.48 +{
4.49 +public:
4.50 + virtual void doExport();
4.51 +};
4.52 +
4.53 +///////////////////////////////////////////////////////////////////////
4.54 class ExportLaTeX:public ExportBase
4.55 {
4.56 public:
4.57 - void exportLaTeX();
4.58 + virtual void doExport();
4.59 };
4.60
4.61 ///////////////////////////////////////////////////////////////////////
5.1 --- a/imports.cpp Wed Mar 01 14:39:05 2006 +0000
5.2 +++ b/imports.cpp Tue Mar 07 11:32:00 2006 +0000
5.3 @@ -20,8 +20,7 @@
5.4 ImportBase::~ImportBase()
5.5 {
5.6 // Remove tmpdir
5.7 - // FIXME just testing!
5.8 - //removeDir (tmpDir);
5.9 + removeDir (tmpDir);
5.10 }
5.11
5.12 void ImportBase::setDir(const QString &p)
6.1 --- a/mainwindow.cpp Wed Mar 01 14:39:05 2006 +0000
6.2 +++ b/mainwindow.cpp Tue Mar 07 11:32:00 2006 +0000
6.3 @@ -64,6 +64,7 @@
6.4 #include "aboutdialog.h"
6.5 #include "exporthtmldialog.h"
6.6 #include "exportoofiledialog.h"
6.7 +#include "exports.h"
6.8 #include "exportxhtmldialog.h"
6.9 #include "file.h"
6.10 #include "flagrowobj.h"
6.11 @@ -627,14 +628,14 @@
6.12 actionListBranches.append(a);
6.13
6.14 // Import at selection (adding to selection)
6.15 - a = new QAction( tr( "Add map at selection" ),tr( "Import (add)" ), 0, this, "importAdd" );
6.16 + a = new QAction( tr( "Add map at selection" ),tr( "Add map (insert)" ), 0, this, "importAdd" );
6.17 connect( a, SIGNAL( activated() ), this, SLOT( editImportAdd() ) );
6.18 a->setEnabled (false);
6.19 actionListBranches.append(a);
6.20 actionEditImportAdd=a;
6.21
6.22 // Import at selection (replacing selection)
6.23 - a = new QAction( tr( "Replace selection with map" ),tr( "Import (replace)" ), 0, this, "importReplace" );
6.24 + a = new QAction( tr( "Replace selection with map" ),tr( "Add map (replace)" ), 0, this, "importReplace" );
6.25 connect( a, SIGNAL( activated() ), this, SLOT( editImportReplace() ) );
6.26 a->setEnabled (false);
6.27 actionListBranches.append(a);
6.28 @@ -1170,16 +1171,24 @@
6.29 floatimageContextMenu->insertSeparator();
6.30 actionFormatHideLinkUnselected->addTo( floatimageContextMenu );
6.31
6.32 + exportMenu->insertItem ( tr("Export as Image"),exportImageFormatMenu);
6.33 +
6.34 a = new QAction( tr( "Export in Open Document Format used e.g. in Open Office " ), QPixmap(), "Open Office"+QString("..."), 0, this, "exportOOPresentation" );
6.35 connect( a, SIGNAL( activated() ), this, SLOT( fileExportOOPresentation() ) );
6.36 a->addTo (exportMenu);
6.37
6.38 - exportMenu->insertItem ( tr("Export as Image"),exportImageFormatMenu);
6.39 + a = new QAction( tr( "Export as webpage (XHTML)" ), QPixmap(), "Webpage (XHTML)...", ALT + Key_X, this, "exportXHTML" );
6.40 + connect( a, SIGNAL( activated() ), this, SLOT( fileExportXHTML() ) );
6.41 + a->addTo( exportMenu );
6.42
6.43 - a = new QAction( tr( "Export as ASCII")+" "+tr("(still experimental)" ), QPixmap(), "ASCII...", 0, this, "exportASCII" );
6.44 + a = new QAction( tr( "Export as ASCII")+" "+tr("(still experimental)" ), QPixmap(), "Text (ASCII)...", 0, this, "exportASCII" );
6.45 connect( a, SIGNAL( activated() ), this, SLOT( fileExportASCII() ) );
6.46 a->addTo( exportMenu );
6.47
6.48 + a = new QAction( tr( "Export as Taskjuggler")+" "+tr("(still experimental)" ), QPixmap(), "Taskjuggler...", 0, this, "exportTJ" );
6.49 + connect( a, SIGNAL( activated() ), this, SLOT( fileExportTaskjuggler() ) );
6.50 + a->addTo( exportMenu );
6.51 +
6.52 a = new QAction( tr( "Export as LaTeX")+" "+tr("(still experimental)" ), QPixmap(), "LaTeX...", 0, this, "exportLaTeX" );
6.53 connect( a, SIGNAL( activated() ), this, SLOT( fileExportLaTeX() ) );
6.54 a->addTo( exportMenu );
6.55 @@ -1195,10 +1204,6 @@
6.56 a->addTo( exportMenu );
6.57 }
6.58
6.59 - a = new QAction( tr( "Export as XHTML" ), QPixmap(), "XHTML...", ALT + Key_X, this, "exportXHTML" );
6.60 - connect( a, SIGNAL( activated() ), this, SLOT( fileExportXHTML() ) );
6.61 - a->addTo( exportMenu );
6.62 -
6.63
6.64 // Context menu for canvas
6.65 canvasContextMenu =new QPopupMenu (this);
6.66 @@ -1905,24 +1910,48 @@
6.67 void Main::fileExportASCII()
6.68 {
6.69 if (currentMapEditor())
6.70 - currentMapEditor()->exportASCII();
6.71 + {
6.72 + ExportASCII ex;
6.73 + ex.setMapCenter(currentMapEditor()->getMapCenter());
6.74 + ex.addFilter ("TXT (*.txt)");
6.75 + ex.setCaption(__VYM " -" +tr("Export as ASCII")+" "+tr("(still experimental)"));
6.76 + if (ex.execDialog() ) ex.doExport();
6.77 + }
6.78 }
6.79
6.80 void Main::fileExportLaTeX()
6.81 {
6.82 if (currentMapEditor())
6.83 - currentMapEditor()->exportLaTeX();
6.84 + {
6.85 + ExportLaTeX ex;
6.86 + ex.setMapCenter(currentMapEditor()->getMapCenter());
6.87 + ex.addFilter ("Tex (*.tex)");
6.88 + ex.setCaption(__VYM " -" +tr("Export as LaTeX")+" "+tr("(still experimental)"));
6.89 + if (ex.execDialog() ) ex.doExport();
6.90 + }
6.91 +}
6.92 +
6.93 +void Main::fileExportTaskjuggler()
6.94 +{
6.95 + ExportTaskjuggler ex;
6.96 + if (currentMapEditor())
6.97 + {
6.98 + ex.setMapCenter (currentMapEditor()->getMapCenter() );
6.99 + ex.setCaption ( __VYM " - "+tr("Export to")+" Taskjuggler"+tr("(still experimental)"));
6.100 + ex.addFilter ("Taskjuggler (*.tj)");
6.101 + if (ex.execDialog()) ex.doExport();
6.102 + }
6.103 }
6.104
6.105 void Main::fileExportOOPresentation()
6.106 {
6.107 - ExportOOFileDialog *fd=new ExportOOFileDialog( this,__VYM " - "+tr("Export to Open Office"));
6.108 + ExportOOFileDialog *fd=new ExportOOFileDialog( this,__VYM " - "+tr("Export to")+" Open Office");
6.109 // FIXME add extra info in dialog
6.110 //ImagePreview *p =new ImagePreview (fd);
6.111 //fd->setContentsPreviewEnabled( TRUE );
6.112 //fd->setContentsPreview( p, p );
6.113 //fd->setPreviewMode( QFileDialog::Contents );
6.114 - fd->setCaption(__VYM " - " +tr("Export to Open Office"));
6.115 + fd->setCaption(__VYM " - " +tr("Export to")+" Open Office");
6.116 //fd->setDir (lastImageDir);
6.117 fd->show();
6.118
7.1 --- a/mainwindow.h Wed Mar 01 14:39:05 2006 +0000
7.2 +++ b/mainwindow.h Tue Mar 07 11:32:00 2006 +0000
7.3 @@ -74,6 +74,7 @@
7.4 void fileExportImage(int);
7.5 void fileExportASCII();
7.6 void fileExportLaTeX();
7.7 + void fileExportTaskjuggler();
7.8 void fileExportOOPresentation();
7.9 void fileCloseMap();
7.10 void filePrint();
8.1 --- a/mapeditor.cpp Wed Mar 01 14:39:05 2006 +0000
8.2 +++ b/mapeditor.cpp Tue Mar 07 11:32:00 2006 +0000
8.3 @@ -1059,89 +1059,6 @@
8.4 pix.save(fn, exportImageFormatMenu->text(item) );
8.5 }
8.6
8.7 -void MapEditor::exportASCII()
8.8 -{
8.9 - // TODO still experimental
8.10 - ExportBase ex;
8.11 - ex.setMapCenter(mapCenter);
8.12 -
8.13 - QFileDialog *fd=new QFileDialog( this, __VYM " - " +tr("Export as ASCII"));
8.14 - fd->addFilter ("TXT (*.txt)");
8.15 - fd->setCaption(__VYM " -" +tr("Export as ASCII")+" "+tr("(still experimental)"));
8.16 - fd->setMode( QFileDialog::AnyFile );
8.17 - fd->show();
8.18 -
8.19 - if ( fd->exec() == QDialog::Accepted )
8.20 - {
8.21 - if (QFile (fd->selectedFile()).exists() )
8.22 - {
8.23 - QMessageBox mb( __VYM,
8.24 - tr("The file %1 exists already.\nDo you want to overwrite it?").arg(fd->selectedFile()),
8.25 - QMessageBox::Warning,
8.26 - QMessageBox::Yes | QMessageBox::Default,
8.27 - QMessageBox::Cancel | QMessageBox::Escape,
8.28 - QMessageBox::NoButton );
8.29 -
8.30 - mb.setButtonText( QMessageBox::Yes, tr("Overwrite") );
8.31 - mb.setButtonText( QMessageBox::No, tr("Cancel"));
8.32 - ExportBase ex;
8.33 - switch( mb.exec() )
8.34 - {
8.35 - case QMessageBox::Yes:
8.36 - // save
8.37 - break;;
8.38 - case QMessageBox::Cancel:
8.39 - // return, do nothing
8.40 - return;
8.41 - break;
8.42 - }
8.43 - }
8.44 - ex.setFile(fd->selectedFile() );
8.45 - ex.exportXML();
8.46 - }
8.47 -}
8.48 -
8.49 -void MapEditor::exportLaTeX()
8.50 -{
8.51 - // TODO still experimental
8.52 - QFileDialog *fd=new QFileDialog( this, __VYM " - " +tr("Export as LaTeX"));
8.53 - fd->addFilter ("TEX (*.tex)");
8.54 - fd->setCaption(__VYM " - " + tr("Export as LaTeX")+" "+tr("(still experimental)"));
8.55 - fd->setMode( QFileDialog::AnyFile );
8.56 - fd->show();
8.57 -
8.58 - if ( fd->exec() == QDialog::Accepted )
8.59 - {
8.60 - if (QFile (fd->selectedFile()).exists() )
8.61 - {
8.62 - QMessageBox mb( "VYM",
8.63 - tr("The file %1\nexists already. Do you want to overwrite it?").arg(fd->selectedFile()),
8.64 - QMessageBox::Warning,
8.65 - QMessageBox::Yes | QMessageBox::Default,
8.66 - QMessageBox::Cancel | QMessageBox::Escape,
8.67 - QMessageBox::NoButton );
8.68 -
8.69 - mb.setButtonText( QMessageBox::Yes, tr("Overwrite") );
8.70 - mb.setButtonText( QMessageBox::No, tr("Cancel"));
8.71 - ExportLaTeX ex;
8.72 - switch( mb.exec() )
8.73 - {
8.74 - case QMessageBox::Yes:
8.75 - // save
8.76 - break;;
8.77 - case QMessageBox::Cancel:
8.78 - // do nothing
8.79 - return;
8.80 - break;
8.81 - }
8.82 - }
8.83 - ExportLaTeX ex;
8.84 - ex.setFile (fd->selectedFile() );
8.85 - ex.setMapCenter(mapCenter);
8.86 - ex.exportLaTeX();
8.87 - }
8.88 -}
8.89 -
8.90 void MapEditor::exportOOPresentation(const QString &fn, const QString &cf)
8.91 {
8.92 ExportOO ex;
8.93 @@ -2181,6 +2098,7 @@
8.94 {
8.95 saveState(selection);// TODO undoCommand
8.96 ((BranchObj*)selection)->toggleStandardFlag (f,actionSettingsUseFlagGroups);
8.97 + adjustCanvasSize();
8.98 }
8.99 }
8.100
9.1 --- a/mapeditor.h Wed Mar 01 14:39:05 2006 +0000
9.2 +++ b/mapeditor.h Tue Mar 07 11:32:00 2006 +0000
9.3 @@ -71,8 +71,6 @@
9.4 public:
9.5 void exportImage (QString fn); // export as PNG
9.6 void exportImage (QString fn, int); // export in given format
9.7 - void exportASCII();
9.8 - void exportLaTeX();
9.9 void exportOOPresentation(const QString &,const QString &);
9.10 void exportXML(const QString&); // export to directory
9.11 void clear(); // clear map
10.1 --- a/version.h Wed Mar 01 14:39:05 2006 +0000
10.2 +++ b/version.h Tue Mar 07 11:32:00 2006 +0000
10.3 @@ -3,6 +3,6 @@
10.4
10.5 #define __VYM "VYM"
10.6 #define __VYM_VERSION "1.7.10"
10.7 -#define __BUILD_DATE "March 1, 2006"
10.8 +#define __BUILD_DATE "March 7, 2006"
10.9
10.10 #endif