# HG changeset patch # User insilmaril # Date 1142346428 0 # Node ID fad762341d2d67962a3e69add1a7fa6bfb52a5b8 # Parent f3cc8813844f7df640822b0ebf50f4f6d1847034 hideLinkInExport for Branches (Floats still missing). Floats are now OrnamentedObj. diff -r f3cc8813844f -r fad762341d2d demos/todo.vym Binary file demos/todo.vym has changed diff -r f3cc8813844f -r fad762341d2d main.cpp --- a/main.cpp Tue Mar 14 14:27:04 2006 +0000 +++ b/main.cpp Tue Mar 14 14:27:08 2006 +0000 @@ -51,6 +51,7 @@ QAction *actionEditFATE2URL; QAction *actionEditOpenVymLink; QAction *actionEditVymLink; +QAction *actionEditToggleHideExport; QAction *actionEditDeleteVymLink; QAction *actionEditMapInfo; QAction *actionEditHeading; @@ -127,32 +128,10 @@ { QApplication app(argc,argv); - QMimeSourceFactory *factory = QMimeSourceFactory::defaultFactory(); - factory->setPixmap("vym_48x48", QPixmap(vym_48x48_xpm)); - factory->setPixmap("vym_128x128", QPixmap(vym_128x128_xpm)); - qInitNetworkProtocols(); - - // Use /usr/share/vym or /usr/local/share/vym or . ? - QDir vymBaseDir; - vymBaseDir.setPath ("/usr/share/vym"); - if (!vymBaseDir.exists()) - vymBaseDir.setPath ("/usr/local/share/vym"); - if (!vymBaseDir.exists()) - vymBaseDir.setPath(vymBaseDir.currentDirPath() ); - - // Initialize translations - QTranslator translator (0); - translator.load( QString("vym_")+QTextCodec::locale(), vymBaseDir.path() + "/lang"); - app.installTranslator( &translator ); - - // Initializing the row of system flags - // is done in first call to MapEditor(), - // because we need at least one canvas first - systemFlagsDefault=NULL; - standardFlagsDefault=NULL; // Reading and initializing options commandline options options.add ("version", SwitchOption, "v","version"); + options.add ("local", SwitchOption, "l", "local"); options.add ("help", SwitchOption, "h", "help"); options.add ("quit", SwitchOption, "q", "quit"); options.add ("test", StringOption, "t", "test"); @@ -178,6 +157,20 @@ return 0; } + // Use /usr/share/vym or /usr/local/share/vym or . ? + QDir vymBaseDir; + if (options.isOn ("local")) + { + vymBaseDir.setPath (vymBaseDir.currentDirPath()); + }else + { + vymBaseDir.setPath ("/usr/share/vym"); + if (!vymBaseDir.exists()) + vymBaseDir.setPath ("/usr/local/share/vym"); + if (!vymBaseDir.exists()) + vymBaseDir.setPath(vymBaseDir.currentDirPath() ); + } + if (options.isOn ("help")) { cout << options.getHelpText()<setPixmap("vym_128x128", QPixmap(vym_128x128_xpm)); + qInitNetworkProtocols(); + + + // Initialize translations + QTranslator translator (0); + translator.load( QString("vym_")+QTextCodec::locale(), vymBaseDir.path() + "/lang"); + app.installTranslator( &translator ); + + // Initializing the row of system flags + // is done in first call to MapEditor(), + // because we need at least one canvas first + systemFlagsDefault=NULL; + standardFlagsDefault=NULL; + // Initialize window of TextEditor textEditor = new TextEditor(); textEditor->setIcon (QPixmap (vym_editor_xpm)); diff -r f3cc8813844f -r fad762341d2d mainwindow.cpp --- a/mainwindow.cpp Tue Mar 14 14:27:04 2006 +0000 +++ b/mainwindow.cpp Tue Mar 14 14:27:08 2006 +0000 @@ -107,6 +107,7 @@ extern QAction *actionEditOpenVymLink; extern QAction *actionEditVymLink; extern QAction *actionEditDeleteVymLink; +extern QAction *actionEditToggleHideExport; extern QAction *actionEditMapInfo; extern QAction *actionEditHeading; extern QAction *actionEditDelete; @@ -391,7 +392,7 @@ connect( a, SIGNAL( activated() ), this, SLOT( fileImportKDEBookmarks() ) ); a->addTo (importMenu); - a = new QAction( tr( "Import")+" "+tr("Mind Manager" ), QPixmap(), tr("Mind Manager")+QString("..."), 0, this, "importMM" ); + a = new QAction( tr( "Import")+" Mind Manager" , QPixmap(), "Mind Manager...", 0, this, "importMM" ); connect( a, SIGNAL( activated() ), this, SLOT( fileImportMM() ) ); a->addTo (importMenu); @@ -556,6 +557,13 @@ a->setEnabled (false); actionEditDeleteVymLink=a; + a = new QAction( tr( "Hide object in exports" ), QPixmap("icons/flag-hideexport.png"), tr( "Hide in exports" ), 0, this, "hideExport" ); + connect( a, SIGNAL( activated() ), this, SLOT( editToggleHideExport() ) ); + a->setToggleAction(true); + a->addTo( tb ); + a->setEnabled (false); + actionEditToggleHideExport=a; + a = new QAction( tr( "Edit Map Info" ), QPixmap(), tr( "Edit Map Info"+QString("...") ), 0, this, "editMapInfo" ); connect( a, SIGNAL( activated() ), this, SLOT( editMapInfo() ) ); a->setEnabled (true); @@ -889,6 +897,11 @@ fo->setToolTip(tr("subtree is temporary scrolled","Systemflag")); systemFlagsDefault->addFlag (fo); + fo->load(QPixmap("icons/flag-hideexport.png")); + fo->setName("hideInExport"); + fo->setToolTip(tr("Hide object in exported maps","Systemflag")); + systemFlagsDefault->addFlag (fo); + // Create Standard Flags standardFlagsDefault = new FlagRowObj (); standardFlagsDefault->setVisibility (false); @@ -984,6 +997,7 @@ fo->setName("lifebelt"); fo->setToolTip(tr("This will help","Standardflag")); standardFlagsDefault->addFlag (fo); + delete (fo); standardFlagsDefault->makeToolbar(this, "Standard Flags"); @@ -1171,35 +1185,39 @@ floatimageContextMenu->insertSeparator(); actionFormatHideLinkUnselected->addTo( floatimageContextMenu ); - exportMenu->insertItem ( tr("Export as Image"),exportImageFormatMenu); + exportMenu->insertItem ( tr("Export as")+" Image",exportImageFormatMenu); a = new QAction( tr( "Export in Open Document Format used e.g. in Open Office " ), QPixmap(), "Open Office"+QString("..."), 0, this, "exportOOPresentation" ); connect( a, SIGNAL( activated() ), this, SLOT( fileExportOOPresentation() ) ); a->addTo (exportMenu); - a = new QAction( tr( "Export as webpage (XHTML)" ), QPixmap(), "Webpage (XHTML)...", ALT + Key_X, this, "exportXHTML" ); + a = new QAction( tr( "Export as")+" webpage (XHTML)" , QPixmap(), "Webpage (XHTML)...", ALT + Key_X, this, "exportXHTML" ); connect( a, SIGNAL( activated() ), this, SLOT( fileExportXHTML() ) ); a->addTo( exportMenu ); - a = new QAction( tr( "Export as ASCII")+" "+tr("(still experimental)" ), QPixmap(), "Text (ASCII)...", 0, this, "exportASCII" ); + a = new QAction( tr( "Export as")+" ASCII"+" "+tr("(still experimental)" ), QPixmap(), "Text (ASCII)...", 0, this, "exportASCII" ); connect( a, SIGNAL( activated() ), this, SLOT( fileExportASCII() ) ); a->addTo( exportMenu ); - a = new QAction( tr( "Export as Taskjuggler")+" "+tr("(still experimental)" ), QPixmap(), "Taskjuggler...", 0, this, "exportTJ" ); + a = new QAction( tr( "Export as")+" "+tr("KDE Bookmarks" ), QPixmap(), tr("KDE Bookmarks"), 0, this, "importKDEBookmarks" ); + connect( a, SIGNAL( activated() ), this, SLOT( fileExportKDEBookmarks() ) ); + a->addTo (exportMenu); + + a = new QAction( tr( "Export as")+" Taskjuggler"+" "+tr("(still experimental)" ), QPixmap(), "Taskjuggler...", 0, this, "exportTJ" ); connect( a, SIGNAL( activated() ), this, SLOT( fileExportTaskjuggler() ) ); a->addTo( exportMenu ); - a = new QAction( tr( "Export as LaTeX")+" "+tr("(still experimental)" ), QPixmap(), "LaTeX...", 0, this, "exportLaTeX" ); + a = new QAction( tr( "Export as")+" LaTeX"+" "+tr("(still experimental)" ), QPixmap(), "LaTeX...", 0, this, "exportLaTeX" ); connect( a, SIGNAL( activated() ), this, SLOT( fileExportLaTeX() ) ); a->addTo( exportMenu ); - a = new QAction( tr( "Export as XML" ), QPixmap(), "XML...", 0, this, "exportXML" ); + a = new QAction( tr( "Export as")+" XML" , QPixmap(), "XML...", 0, this, "exportXML" ); connect( a, SIGNAL( activated() ), this, SLOT( fileExportXML() ) ); a->addTo( exportMenu ); if (settings.readBoolEntry( "/vym/mainwindow/showTestMenu",false)) { - a = new QAction( tr( "Export as HTML" ), QPixmap(), "HTML...", 0, this, "exportHTML"); + a = new QAction( tr( "Export as")+" HTML" , QPixmap(), "HTML...", 0, this, "exportHTML"); connect( a, SIGNAL( activated() ), this, SLOT( fileExportHTML() ) ); a->addTo( exportMenu ); } @@ -1931,6 +1949,16 @@ } } +void Main::fileExportKDEBookmarks() +{ + ExportKDEBookmarks ex; + if (currentMapEditor()) + { + ex.setMapCenter (currentMapEditor()->getMapCenter() ); + ex.doExport(); + } +} + void Main::fileExportTaskjuggler() { ExportTaskjuggler ex; @@ -1938,7 +1966,7 @@ { ex.setMapCenter (currentMapEditor()->getMapCenter() ); ex.setCaption ( __VYM " - "+tr("Export to")+" Taskjuggler"+tr("(still experimental)")); - ex.addFilter ("Taskjuggler (*.tj)"); + ex.addFilter ("Taskjuggler (*.tjp)"); if (ex.execDialog()) ex.doExport(); } } @@ -2194,6 +2222,12 @@ currentMapEditor()->deleteVymLink(); } +void Main::editToggleHideExport() +{ + if (currentMapEditor()) + currentMapEditor()->toggleHideExport(); +} + void Main::editMapInfo() { if (currentMapEditor()) diff -r f3cc8813844f -r fad762341d2d mainwindow.h --- a/mainwindow.h Tue Mar 14 14:27:04 2006 +0000 +++ b/mainwindow.h Tue Mar 14 14:27:08 2006 +0000 @@ -74,6 +74,7 @@ void fileExportImage(int); void fileExportASCII(); void fileExportLaTeX(); + void fileExportKDEBookmarks(); void fileExportTaskjuggler(); void fileExportOOPresentation(); void fileCloseMap(); @@ -100,6 +101,7 @@ void editOpenVymLink(); private slots: void editDeleteVymLink(); + void editToggleHideExport(); void editMapInfo(); void editMoveUp(); void editMoveDown(); diff -r f3cc8813844f -r fad762341d2d mapeditor.cpp --- a/mapeditor.cpp Tue Mar 14 14:27:04 2006 +0000 +++ b/mapeditor.cpp Tue Mar 14 14:27:08 2006 +0000 @@ -66,6 +66,7 @@ extern QAction *actionEditOpenVymLink; extern QAction *actionEditVymLink; extern QAction *actionEditDeleteVymLink; +extern QAction *actionEditToggleHideExport; extern QAction *actionEditHeading; extern QAction *actionEditDelete; extern QAction *actionEditAddBranch; @@ -801,6 +802,7 @@ reader.setErrorHandler( &handler ); handler.setMapEditor( this ); handler.setTmpDir (filePath.left(filePath.findRev("/",-1))); // needed to load files with rel. path + handler.setInputFile (file.name()); handler.setLoadMode (lmode); blockSaveState=true; bool ok = reader.parse( source ); @@ -2073,7 +2075,7 @@ { saveState(selection); //TODO undoCommand BranchObj *bo=(BranchObj*)selection; - bo->setColor(actColor, false); // color links, color childs + bo->setColor(actColor); // color branch } } } @@ -2087,7 +2089,7 @@ { saveState(selection); //TODO undoCommand BranchObj *bo=(BranchObj*)selection; - bo->setColor(actColor, true); // color links, color childs + bo->setColorChilds(actColor); // color links, color childs } } } @@ -2295,6 +2297,23 @@ } } +void MapEditor::toggleHideExport() +{ + if (selection && (typeid(*selection) == typeid(BranchObj) || + typeid(*selection) == typeid(MapCenterObj)) //|| +// (typeid(*selection)==typeid(FloatImageObj)) + ) + { + saveState(); //TODO undoCommand + BranchObj *bo=(BranchObj*)selection; + bo->setHideInExport(actionEditToggleHideExport->isOn()); + updateActions(); + mapCenter->reposition(); + adjustCanvasSize(); + canvas()->update(); + } +} + QString MapEditor::getVymLink() { if (selection && (typeid(*selection) == typeid(BranchObj) || @@ -2463,6 +2482,8 @@ actionEditOpenVymLink->setEnabled (true); actionEditDeleteVymLink->setEnabled (true); } + actionEditToggleHideExport->setEnabled (true); + actionEditToggleHideExport->setOn (bo->hideInExport() ); actionEditCopy->setEnabled (true); actionEditCut->setEnabled (true); @@ -2499,10 +2520,11 @@ actionEditOpenURL->setEnabled (false); actionEditOpenVymLink->setEnabled (false); actionEditDeleteVymLink->setEnabled (false); + actionEditToggleHideExport->setEnabled (false); actionEditCopy->setEnabled (true); actionEditCut->setEnabled (true); - actionEditPaste->setEnabled (false); //FIXME + actionEditPaste->setEnabled (false); for (a=actionListBranches.first();a;a=actionListBranches.next()) a->setEnabled(false); actionEditDelete->setEnabled (true); @@ -2835,7 +2857,7 @@ dst->addBranch(); bo=dst->getLastBranch(); bo->setHeading (fi->fileName() ); - bo->setColor (QColor("blue"),false); + bo->setColor (QColor("blue")); bo->toggleScroll(); if ( !d.cd(fi->fileName()) ) QMessageBox::critical (0,tr("Critical Import Error"),tr("Cannot find the directory %1").arg(fi->fileName())); @@ -2858,7 +2880,7 @@ dst->addBranch(); bo=dst->getLastBranch(); bo->setHeading (fi->fileName() ); - bo->setColor (QColor("black"),false); + bo->setColor (QColor("black")); if (fi->fileName().right(4) == ".vym" ) bo->setVymLink (fi->filePath()); @@ -3094,6 +3116,8 @@ } else if (foname=="note") mainWindow->windowToggleNoteEditor(); + else + if (foname=="hideInExport") toggleHideExport(); } } @@ -3295,12 +3319,12 @@ { if (e->state() & QMouseEvent::ShiftButton) { - ((BranchObj*)selection)->setColor (((BranchObj*)(dst))->getColor(),false); + ((BranchObj*)selection)->setColor (((BranchObj*)(dst))->getColor()); ((BranchObj*)selection)->setLinkColor (); } else { - ((BranchObj*)selection)->setColor (((BranchObj*)(dst))->getColor(),true); + ((BranchObj*)selection)->setColorChilds (((BranchObj*)(dst))->getColor()); ((BranchObj*)selection)->setLinkColor (); } } diff -r f3cc8813844f -r fad762341d2d mapeditor.h --- a/mapeditor.h Tue Mar 14 14:27:04 2006 +0000 +++ b/mapeditor.h Tue Mar 14 14:27:08 2006 +0000 @@ -128,6 +128,7 @@ void editVymLink(); // edit link to another map void deleteVymLink(); // delete link to another map QString getVymLink(); // return path to map + void toggleHideExport(); // toggle the export flag void removeBranchHere(); // remove but keep childs void removeChilds(); // remove childs void editMapInfo(); // dialog to enter author, ... diff -r f3cc8813844f -r fad762341d2d ornamentedobj.cpp --- a/ornamentedobj.cpp Tue Mar 14 14:27:04 2006 +0000 +++ b/ornamentedobj.cpp Tue Mar 14 14:27:08 2006 +0000 @@ -53,13 +53,19 @@ standardFlags=new FlagRowObj(canvas); standardFlags->clone(standardFlagsDefault); standardFlags->setName ("standardFlags"); + + hideExport=false; + + url=""; + vymLink=""; + } void OrnamentedObj::copy (OrnamentedObj* other) { LinkableMapObj::copy(other); heading->copy(other->heading); - setColor (other->heading->getColor(),false); + setColor (other->heading->getColor()); note.copy (other->note); systemFlags->copy (other->systemFlags); @@ -67,6 +73,9 @@ ornamentsBBox=other->ornamentsBBox; + hideExport=other->hideExport; + url=other->url; + vymLink=other->vymLink; } QString OrnamentedObj::getHeading() @@ -82,6 +91,12 @@ LinkableMapObj::setLinkColor (mapEditor->getDefLinkColor()); } +void OrnamentedObj::setColor (QColor col) +{ + heading->setColor(col); + setLinkColor(); +} + QColor OrnamentedObj::getColor () { return heading->getColor(); @@ -195,6 +210,59 @@ return note.getNoteOpenDoc(); } +void OrnamentedObj::setURL(QString s) +{ + url=s; + if (!url.isEmpty()) + systemFlags->activate("url"); + else + systemFlags->deactivate("url"); + calcBBoxSize(); // recalculate bbox + positionBBox(); // rearrange contents + forceReposition(); +} + +QString OrnamentedObj::getURL() +{ + return url; +} + +void OrnamentedObj::setVymLink(QString s) +{ + if (!s.isEmpty()) + { + // We need the relative (from loading) + // or absolute path (from User event) + // and build the absolute path. + // Note: If we have relative, use path of + // current map to build absolute path + QDir d(s); + if (!d.path().startsWith ("/")) + { + QString p=mapEditor->getDestPath(); + int i=p.findRev("/",-1); + d.setPath(p.left(i)+"/"+s); + d.convertToAbs(); + } + vymLink=d.path(); + systemFlags->activate("vymLink"); + } + else + { + systemFlags->deactivate("vymLink"); + vymLink=""; + } + calcBBoxSize(); // recalculate bbox + positionBBox(); // rearrange contents + forceReposition(); +} + +QString OrnamentedObj::getVymLink() +{ + return vymLink; +} + + void OrnamentedObj::toggleStandardFlag(QString f, bool exclusive) { standardFlags->toggle(f,exclusive); @@ -239,3 +307,46 @@ } } +void OrnamentedObj::setHideInExport(bool b) +{ + hideExport=b; + if (b) + systemFlags->activate("hideInExport"); + else + systemFlags->deactivate("hideInExport"); + calcBBoxSize(); + positionBBox(); + requestReposition(); +} + +bool OrnamentedObj::hideInExport() +{ + return hideExport; +} + +QString OrnamentedObj::getOrnAttr() +{ + QString posAttr; + if (depth==0 || depth==1) posAttr= + attribut("absPosX",QString().setNum(absPos.x(),10)) + + attribut("absPosY",QString().setNum(absPos.y(),10)); + else + posAttr=""; + + QString urlAttr; + if (!url.isEmpty()) + urlAttr=attribut ("url",url); + + QString vymLinkAttr; + if (!vymLink.isEmpty()) + vymLinkAttr=attribut ("vymLink",convertToRel(mapEditor->getDestPath(),vymLink) ); + + QString hideExpAttr; + if (hideExport) + hideExpAttr= attribut("hideInExport","true"); + else + hideExpAttr=""; + + return posAttr +urlAttr +vymLinkAttr +getLinkAttr() +hideExpAttr; +} + diff -r f3cc8813844f -r fad762341d2d ornamentedobj.h --- a/ornamentedobj.h Tue Mar 14 14:27:04 2006 +0000 +++ b/ornamentedobj.h Tue Mar 14 14:27:08 2006 +0000 @@ -12,13 +12,9 @@ virtual void init (); virtual void copy (OrnamentedObj*); - virtual void setHeading (QString s)=0; // set the heading, pure virtual - // to take care of fontsize virtual QString getHeading(); // returns the heading virtual void setLinkColor(); // sets color according to colorhint, overloaded - virtual void setVisibility(bool,int)=0; // set visibility - virtual void setVisibility(bool)=0; // set vis. for w - virtual void setColor(QColor,bool)=0; // set the color of text and link + virtual void setColor(QColor); // set the color of text and link QColor getColor (); // get color of heading virtual void positionContents(); virtual void move (double,double); @@ -32,11 +28,19 @@ virtual QString getNote(); // returns note (HTML) virtual QString getNoteASCII(); // returns note (ASCII) virtual QString getNoteOpenDoc(); // returns note (OpenDoc) + virtual void setURL (QString); + virtual QString getURL (); + virtual void setVymLink (QString); + virtual QString getVymLink (); + virtual void toggleStandardFlag(QString, bool); virtual void activateStandardFlag(QString); virtual QString getSystemFlagName (const QPoint &p); virtual bool isActiveFlag(const QString&); // check if flag is set virtual void updateNoteFlag(); + virtual void setHideInExport(bool); // set export of object (and childs) + virtual bool hideInExport(); + virtual QString getOrnAttr(); // get attributes for saveToDir protected: HeadingObj *heading; // Heading @@ -44,6 +48,9 @@ FlagRowObj *systemFlags; // System Flags FlagRowObj *standardFlags; // Standard Flags QRect ornamentsBBox; // bbox of flags and heading + QString url; // url to external doc + QString vymLink; // path to another map + bool hideExport; // hide in exports if set }; #endif diff -r f3cc8813844f -r fad762341d2d version.h --- a/version.h Tue Mar 14 14:27:04 2006 +0000 +++ b/version.h Tue Mar 14 14:27:08 2006 +0000 @@ -2,7 +2,7 @@ #define VERSION_H #define __VYM "VYM" -#define __VYM_VERSION "1.7.10" -#define __BUILD_DATE "March 8, 2006" +#define __VYM_VERSION "1.7.11" +#define __BUILD_DATE "March 14, 2006" #endif diff -r f3cc8813844f -r fad762341d2d vym.pro --- a/vym.pro Tue Mar 14 14:27:04 2006 +0000 +++ b/vym.pro Tue Mar 14 14:27:08 2006 +0000 @@ -79,6 +79,7 @@ TRANSLATIONS += lang/vym_de.ts TRANSLATIONS += lang/vym_en.ts TRANSLATIONS += lang/vym_es.ts +TRANSLATIONS += lang/vym_it.ts