1.1 --- a/branchobj.cpp Wed May 18 07:39:58 2005 +0000
1.2 +++ b/branchobj.cpp Mon May 23 15:28:20 2005 +0000
1.3 @@ -1305,7 +1305,7 @@
1.4 if (!status.isEmpty()) mainWindow->statusMessage (status);
1.5
1.6 // Update Toolbar
1.7 - standardFlags->updateToolBar();
1.8 + standardFlags->updateToolbar();
1.9
1.10 // Update Browserbutton
1.11 if (!url.isEmpty())
1.12 @@ -1339,7 +1339,7 @@
1.13 textEditor->setInactive();
1.14
1.15 // unselect all buttons in toolbar
1.16 - standardFlagsDefault->updateToolBar();
1.17 + standardFlagsDefault->updateToolbar();
1.18 }
1.19
1.20 QString BranchObj::getSelectString()
2.1 Binary file demos/todo.vym has changed
3.1 --- a/flagobj.cpp Wed May 18 07:39:58 2005 +0000
3.2 +++ b/flagobj.cpp Mon May 23 15:28:20 2005 +0000
3.3 @@ -30,6 +30,7 @@
3.4 void FlagObj::init ()
3.5 {
3.6 name="undefined";
3.7 + group="undefined";
3.8
3.9 icon=new ImageObj (canvas);
3.10 icon->move (absPos.x(), absPos.y() );
3.11 @@ -41,6 +42,7 @@
3.12 {
3.13 MapObj::copy(other);
3.14 name=other->name;
3.15 + group=other->group;
3.16 tooltip=other->tooltip;
3.17 state=other->state;
3.18 icon->copy(other->icon);
3.19 @@ -95,6 +97,16 @@
3.20 return name;
3.21 }
3.22
3.23 +void FlagObj::setGroup (const QString &n)
3.24 +{
3.25 + group=n;
3.26 +}
3.27 +
3.28 +const QString FlagObj::getGroup()
3.29 +{
3.30 + return group;
3.31 +}
3.32 +
3.33 void FlagObj::setToolTip(const QString &n)
3.34 {
3.35 tooltip=n;
4.1 --- a/flagobj.h Wed May 18 07:39:58 2005 +0000
4.2 +++ b/flagobj.h Mon May 23 15:28:20 2005 +0000
4.3 @@ -24,6 +24,8 @@
4.4 void load (const QPixmap&);
4.5 void setName (const QString&);
4.6 const QString getName ();
4.7 + void setGroup (const QString&);
4.8 + const QString getGroup();
4.9 void setToolTip(const QString&);
4.10 const QString getToolTip();
4.11 void setButton (QAction*);
4.12 @@ -40,6 +42,7 @@
4.13
4.14 protected:
4.15 QString name;
4.16 + QString group;
4.17 QString tooltip;
4.18 bool state;
4.19 bool used;
5.1 --- a/flagrowobj.cpp Wed May 18 07:39:58 2005 +0000
5.2 +++ b/flagrowobj.cpp Mon May 23 15:28:20 2005 +0000
5.3 @@ -133,7 +133,7 @@
5.4 return false;
5.5 }
5.6
5.7 -void FlagRowObj::toggle (const QString &foname)
5.8 +void FlagRowObj::toggle (const QString &foname, bool exclusive)
5.9 {
5.10 FlagObj *fo=findFlag (foname);
5.11 if (fo)
5.12 @@ -150,6 +150,11 @@
5.13 {
5.14 fo=addFlag (fo);
5.15 fo->activate();
5.16 + if (exclusive)
5.17 + {
5.18 + deactivateGroup (fo);
5.19 + updateToolbar();
5.20 + }
5.21 } else
5.22 qWarning ("FlagRowObj ("+name+")::toggle ("+foname+") failed - could not find it in parentRow");
5.23 }
5.24 @@ -190,6 +195,7 @@
5.25 }
5.26 }
5.27
5.28 +
5.29 void FlagRowObj::deactivate (const QString &foname)
5.30 {
5.31 FlagObj *fo=findFlag (foname);
5.32 @@ -204,13 +210,23 @@
5.33 {
5.34 FlagObj *fo;
5.35 for (fo=flag.first();fo; fo=flag.next() )
5.36 - {
5.37 fo->deactivate();
5.38 - }
5.39 } else
5.40 qWarning ("FlagRowObj::deactivateAll mustn't be called for ordinary rows");
5.41 }
5.42
5.43 +void FlagRowObj::deactivateGroup (FlagObj *keepfo)
5.44 +{
5.45 + // deactivate all flags in keepof, but keep keepfo [sic!]
5.46 + if (keepfo)
5.47 + {
5.48 + FlagObj *fo;
5.49 + for (fo=flag.first();fo; fo=flag.next() )
5.50 + if (keepfo->getGroup()==fo->getGroup() && keepfo!=fo)
5.51 + flag.remove(fo);
5.52 + }
5.53 +}
5.54 +
5.55 void FlagRowObj::setEnabled (bool b)
5.56 {
5.57 // If we have no parent, we are the default FlagRowObj
5.58 @@ -262,6 +278,7 @@
5.59
5.60 void FlagRowObj::makeToolbar (QMainWindow *w, const QString &n)
5.61 {
5.62 + //Only make toolbar for the parentrow, not each row in branches
5.63 if (!parentRow)
5.64 {
5.65 // create bar and buttons
5.66 @@ -291,7 +308,7 @@
5.67 qWarning ("FlagRowObj::makeToolbar mustn't be called for ordinary rows");
5.68 }
5.69
5.70 -void FlagRowObj::updateToolBar()
5.71 +void FlagRowObj::updateToolbar()
5.72 {
5.73 FlagObj *fo;
5.74 if (parentRow)
5.75 @@ -301,7 +318,7 @@
5.76 // In parentRow activate all existing (==active) flags
5.77 for (fo=flag.first();fo; fo=flag.next() )
5.78 parentRow->activate(fo->getName());
5.79 - parentRow->updateToolBar();
5.80 + parentRow->updateToolbar();
5.81 } else
5.82 {
5.83 // We are the toolbar default
6.1 --- a/flagrowobj.h Wed May 18 07:39:58 2005 +0000
6.2 +++ b/flagrowobj.h Mon May 23 15:28:20 2005 +0000
6.3 @@ -22,16 +22,17 @@
6.4 virtual void calcBBoxSize();
6.5 virtual QString getFlagName (const QPoint &p); // Find flag by position
6.6 bool isActive(const QString&);
6.7 - void toggle (const QString&);
6.8 + void toggle (const QString&,bool);
6.9 void activate(const QString&);
6.10 void deactivate(const QString&);
6.11 void deactivateAll();
6.12 + void deactivateGroup(FlagObj *);
6.13 void setEnabled (bool);
6.14 void resetUsedCounter();
6.15 QString saveToDir (const QString &,const QString &,bool);
6.16 void setName (const QString&); // prefix for exporting flags to dir
6.17 void makeToolbar (QMainWindow*, const QString &); // Create Toolbar buttons
6.18 - void updateToolBar(); // Update Toolbar buttons
6.19 + void updateToolbar(); // Update Toolbar buttons
6.20 private:
6.21 FlagRowObj* parentRow; // look for flags in this row
6.22 FlagObj* findFlag (const QString&);
7.1 --- a/main.cpp Wed May 18 07:39:58 2005 +0000
7.2 +++ b/main.cpp Mon May 23 15:28:20 2005 +0000
7.3 @@ -91,6 +91,7 @@
7.4 QAction *actionSettingsPasteNewHeading;
7.5 QAction *actionSettingsAutoedit;
7.6 QAction *actionSettingsUseDelKey;
7.7 +QAction *actionSettingsUseFlagGroups;
7.8
7.9 QPopupMenu *branchContextMenu;
7.10 QPopupMenu *branchAddContextMenu;
8.1 --- a/mainwindow.cpp Wed May 18 07:39:58 2005 +0000
8.2 +++ b/mainwindow.cpp Mon May 23 15:28:20 2005 +0000
8.3 @@ -129,6 +129,7 @@
8.4 extern QAction* actionSettingsAutoselectText;
8.5 extern QAction* actionSettingsPasteNewHeading;
8.6 extern QAction* actionSettingsUseDelKey;
8.7 +extern QAction* actionSettingsUseFlagGroups;
8.8
8.9 extern QPopupMenu* branchContextMenu;
8.10 extern QPopupMenu* branchAddContextMenu;
8.11 @@ -253,6 +254,7 @@
8.12 settings.writeEntry( "/vym/mapeditor/editmode/pastenewheading",actionSettingsPasteNewHeading->isOn() );
8.13 settings.writeEntry( "/vym/mapeditor/editmode/autoedit",actionSettingsAutoedit->isOn() );
8.14 settings.writeEntry( "/vym/mapeditor/editmode/useDelKey",actionSettingsUseDelKey->isOn() );
8.15 + settings.writeEntry( "/vym/mapeditor/editmode/useFlagGroups",actionSettingsUseFlagGroups->isOn() );
8.16
8.17 QString s;
8.18 int maps=lastMaps.count();
8.19 @@ -517,8 +519,6 @@
8.20 actionEditHeading=a;
8.21 a = new QAction( tr( "edit Heading" ),tr( "Edit heading" ), Key_F2, this, "editHeading" );
8.22 connect( a, SIGNAL( activated() ), this, SLOT( editHeading() ) );
8.23 - a = new QAction( tr( "edit Heading" ),tr( "Edit heading" ), Key_E, this, "editHeading" );
8.24 - connect( a, SIGNAL( activated() ), this, SLOT( editHeading() ) );
8.25 a->setEnabled (false);
8.26 a->addTo ( menu );
8.27 actionEditHeading=a;
8.28 @@ -834,6 +834,12 @@
8.29 a->setOn ( settings.readBoolEntry ("/vym/mapeditor/editmode/useDelKey",false) );
8.30 a->addTo( menu );
8.31 actionSettingsUseDelKey=a;
8.32 +
8.33 + a= new QAction( tr( "Use groups in flag toolbars" ), QPixmap(), tr( "Enable flag groups" ), 0, this, "flaggroups" );
8.34 + a->setToggleAction(true);
8.35 + a->setOn ( settings.readBoolEntry ("/vym/mapeditor/editmode/useFlagGroups",true) );
8.36 + a->addTo( menu );
8.37 + actionSettingsUseFlagGroups=a;
8.38 }
8.39
8.40 // Test Actions
8.41 @@ -964,7 +970,8 @@
8.42
8.43 a = new QAction( tr( "Export as ASCII (still experimental)" ), QPixmap(), tr( "Export (ASCII)" ), 0, this, "exportASCII" );
8.44 connect( a, SIGNAL( activated() ), this, SLOT( fileExportASCII() ) );
8.45 - a->addTo( exportMenu );
8.46 + // FIXME deactivated, doesn't work with QRichtext anyway
8.47 + // a->addTo( exportMenu );
8.48
8.49 a = new QAction( tr( "Export XML" ), QPixmap(), tr( "Export XML" ), 0, this, "exportXML" );
8.50 connect( a, SIGNAL( activated() ), this, SLOT( fileExportXML() ) );
8.51 @@ -2307,8 +2314,12 @@
8.52 void Main::helpDoc()
8.53 {
8.54 QString docpath;
8.55 - // default path in SUSE LINUX
8.56 - docpath="/usr/share/doc/packages/vym/doc/vym.pdf";
8.57 + #if defined(Q_OS_MACX)
8.58 + docpath="./vym.app/Contents/vym.pdf";
8.59 + #else
8.60 + // default path in SUSE LINUX
8.61 + docpath="/usr/share/doc/packages/vym/doc/vym.pdf";
8.62 + #endif
8.63
8.64 if (!QFile (docpath).exists() )
8.65 {
9.1 --- a/mapeditor.cpp Wed May 18 07:39:58 2005 +0000
9.2 +++ b/mapeditor.cpp Mon May 23 15:28:20 2005 +0000
9.3 @@ -121,6 +121,7 @@
9.4 extern QAction *actionSettingsAutoselectHeading;
9.5 extern QAction *actionSettingsAutoselectText;
9.6 extern QAction *actionSettingsPasteNewHeading;
9.7 +extern QAction *actionSettingsUseFlagGroups;
9.8
9.9 extern QPopupMenu *branchContextMenu;
9.10 extern QPopupMenu *branchLinksContextMenu;
9.11 @@ -193,22 +194,26 @@
9.12
9.13 FlagObj *fo = new FlagObj (mapCanvas);
9.14 fo->load(QPixmap(flag_exclamationmark_xpm));
9.15 - fo->setName("exclamationmark");
9.16 + fo->setName ("exclamationmark");
9.17 + fo->setGroup("standard-mark");
9.18 fo->setToolTip(tr("Take care!","Standardflag"));
9.19 standardFlagsDefault->addFlag (fo); // makes deep copy
9.20
9.21 fo->load(QPixmap(flag_questionmark_xpm));
9.22 fo->setName("questionmark");
9.23 + fo->setGroup("standard-mark");
9.24 fo->setToolTip(tr("Really?","Standardflag"));
9.25 standardFlagsDefault->addFlag (fo);
9.26
9.27 fo->load(QPixmap(flag_hook_green_xpm));
9.28 fo->setName("hook-green");
9.29 + fo->setGroup("standard-hook");
9.30 fo->setToolTip(tr("ok!","Standardflag"));
9.31 standardFlagsDefault->addFlag (fo);
9.32
9.33 fo->load(QPixmap(flag_cross_red_xpm));
9.34 fo->setName("cross-red");
9.35 + fo->setGroup("standard-hook");
9.36 fo->setToolTip(tr("Not ok!","Standardflag"));
9.37 standardFlagsDefault->addFlag (fo);
9.38
9.39 @@ -219,11 +224,13 @@
9.40
9.41 fo->load(QPixmap(flag_smiley_good_xpm));
9.42 fo->setName("smiley-good");
9.43 + fo->setGroup("standard-smiley");
9.44 fo->setToolTip(tr("Good","Standardflag"));
9.45 standardFlagsDefault->addFlag (fo);
9.46
9.47 fo->load(QPixmap(flag_smiley_sad_xpm));
9.48 fo->setName("smiley-sad");
9.49 + fo->setGroup("standard-smiley");
9.50 fo->setToolTip(tr("Bad","Standardflag"));
9.51 standardFlagsDefault->addFlag (fo);
9.52
9.53 @@ -239,21 +246,26 @@
9.54
9.55 fo->load(QPixmap(flag_arrow_up_xpm));
9.56 fo->setName("arrow-up");
9.57 + fo->setGroup("standard-arrow");
9.58 fo->setToolTip(tr("Important","Standardflag"));
9.59 standardFlagsDefault->addFlag (fo);
9.60
9.61 fo->load(QPixmap(flag_arrow_down_xpm));
9.62 fo->setName("arrow-down");
9.63 + fo->setGroup("standard-arrow");
9.64 fo->setToolTip(tr("Unimportant","Standardflag"));
9.65 standardFlagsDefault->addFlag (fo);
9.66
9.67 fo->load(QPixmap(flag_thumb_up_xpm));
9.68 fo->setName("thumb-up");
9.69 + fo->setGroup("standard-thumb");
9.70 fo->setToolTip(tr("I like this","Standardflag"));
9.71 standardFlagsDefault->addFlag (fo);
9.72
9.73 fo->load(QPixmap(flag_thumb_down_xpm));
9.74 fo->setName("thumb-down");
9.75 + fo->setGroup("standard-thumb");
9.76 + fo->setToolTip(tr("I like this","Standardflag"));
9.77 fo->setToolTip(tr("I do not like this","Standardflag"));
9.78 standardFlagsDefault->addFlag (fo);
9.79
9.80 @@ -549,7 +561,6 @@
9.81
9.82 if (writeflags)
9.83 standardFlagsDefault->saveToDir (tmpdir+"/flags/","",writeflags);
9.84 -
9.85 return s;
9.86 }
9.87
9.88 @@ -1996,7 +2007,7 @@
9.89 {
9.90 setChanged();
9.91 saveState(PartOfMap,selection);
9.92 - ((BranchObj*)(selection))->toggleStandardFlag (f);
9.93 + ((BranchObj*)(selection))->toggleStandardFlag (f,actionSettingsUseFlagGroups);
9.94 }
9.95 }
9.96
9.97 @@ -2235,6 +2246,7 @@
9.98 uint b=0;
9.99 uint f=0;
9.100 uint n=0;
9.101 + uint xl=0;
9.102 BranchObj *bo;
9.103 bo=mapCenter->first();
9.104 while (bo)
9.105 @@ -2242,9 +2254,11 @@
9.106 if (!bo->getNote().isEmpty() ) n++;
9.107 f+= bo->countFloatImages();
9.108 b++;
9.109 + xl+=bo->countXLinks();
9.110 bo=bo->next();
9.111 }
9.112 stats+=QString ("%1 branches\n").arg (b-1,6);
9.113 + stats+=QString ("%1 xLinks \n").arg (xl-1,6);
9.114 stats+=QString ("%1 notes\n").arg (n,6);
9.115 stats+=QString ("%1 images\n").arg (f,6);
9.116 dia.setStats (stats);
9.117 @@ -2346,7 +2360,10 @@
9.118
9.119 actionEditCopy->setEnabled (true);
9.120 actionEditCut->setEnabled (true);
9.121 - actionEditPaste->setEnabled (true);
9.122 + if (clipboardME->getMapCenter()->countBranches()>0)
9.123 + actionEditPaste->setEnabled (true);
9.124 + else
9.125 + actionEditPaste->setEnabled (false);
9.126 for (a=actionListBranches.first();a;a=actionListBranches.next())
9.127 a->setEnabled(true);
9.128 actionEditDelete->setEnabled (true);
9.129 @@ -2668,6 +2685,7 @@
9.130 QMessageBox::critical (0,tr("Critical Import Error"),tr("Cannot find the directory"));
9.131 else
9.132 {
9.133 + // Recursively add subdirs
9.134 importDir (bo,d);
9.135 d.cdUp();
9.136 }
9.137 @@ -2685,6 +2703,9 @@
9.138 bo=dst->getLastBranch();
9.139 bo->setHeading (fi->fileName() );
9.140 bo->setColor (QColor("black"),false);
9.141 + if (fi->fileName().right(4) == ".vym" )
9.142 + bo->setVymLink (fi->filePath());
9.143 +
9.144 ++itfile;
9.145 }
9.146 }
10.1 --- a/ornamentedobj.cpp Wed May 18 07:39:58 2005 +0000
10.2 +++ b/ornamentedobj.cpp Mon May 23 15:28:20 2005 +0000
10.3 @@ -174,9 +174,9 @@
10.4 return note.getNote();
10.5 }
10.6
10.7 -void OrnamentedObj::toggleStandardFlag(QString f)
10.8 +void OrnamentedObj::toggleStandardFlag(QString f, bool exclusive)
10.9 {
10.10 - standardFlags->toggle(f);
10.11 + standardFlags->toggle(f,exclusive);
10.12 calcBBoxSize();
10.13 positionBBox();
10.14 move (absPos.x(), absPos.y() );
11.1 --- a/ornamentedobj.h Wed May 18 07:39:58 2005 +0000
11.2 +++ b/ornamentedobj.h Mon May 23 15:28:20 2005 +0000
11.3 @@ -30,7 +30,7 @@
11.4 virtual void setNote(QString); // set note
11.5 virtual void setNote(NoteObj); // set note
11.6 virtual QString getNote(); // returns note
11.7 - virtual void toggleStandardFlag(QString);
11.8 + virtual void toggleStandardFlag(QString, bool);
11.9 virtual void activateStandardFlag(QString);
11.10 virtual QString getSystemFlagName (const QPoint &p);
11.11
12.1 --- a/tex/vym.tex Wed May 18 07:39:58 2005 +0000
12.2 +++ b/tex/vym.tex Mon May 23 15:28:20 2005 +0000
12.3 @@ -168,17 +168,18 @@
12.4
12.5 Select the mapcenter "New map" in the middle of the mapeditor by
12.6 left-clicking with the mouse. It will turn yellow to show that is
12.7 -selected. There are two ways to add a new branch to the center:
12.8 +selected. There are several ways to add a new branch to the center:
12.9 \begin{itemize}
12.10 - \item Main menu on top of mapeditor window:
12.11 - Edit \ra Add new Branch
12.12 - \item Press \key{Ins}
12.13 + \item Using the mouse: Open the context meny by clicking with the
12.14 + right mouse button (CTRL-Click on Mac) onto the
12.15 + mapcenter and choose Add \ra Add as child
12.16 + \item Press \key{Ins} or \key{A}
12.17 \end{itemize}
12.18 A new branch will appear and you will be able to type the heading of the
12.19 branch. Finish adding the new branch by pressing \key{Enter}.
12.20 %tipp
12.21 Sometimes it comes handy to add a new branch above or below the current
12.22 -one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}.
12.23 +one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}.
12.24
12.25 \subsection{Navigate through a map}
12.26 \subsubsection*{Select branches}
12.27 @@ -236,7 +237,7 @@
12.28
12.29 To scroll or unscroll a branch and its childs, press the
12.30 \begin{itemize}
12.31 - \item \key{Scroll} key or
12.32 + \item \key{Scroll} key or \key{S}
12.33 \item press the middle-mouse button or
12.34 \item choose the little scroll from the toolbar.
12.35 \end{itemize}
12.36 @@ -713,14 +714,17 @@
12.37 \begin{longtable}{|lcp{8cm}l|} \hline
12.38 Version & & Comment & Date \\ \hline \hline \endhead
12.39 \hline \endfoot
12.40 -1.6.5 & - & removing a branch and keeping its childs & 2005-05-03 \\
12.41 +1.6.6 & - & Exclusive standard flags & 2005-05-23 \\
12.42 +1.6.5 & - & removing a branch and keeping its childs & 2005-05-19 \\
12.43 & - & removing childs of a branch & \\
12.44 & - & insert branch and make selection its child& \\
12.45 & - & restructured branch context menu & \\
12.46 in a basic version (straight line) & 2005-04-15\\
12.47 + & - & New shortcuts for use on Mac OS X & \\
12.48 + & - & Importing directories generates vymlinks now & \\
12.49 & - & Bugfix: Changing linkstyle now automatically redraws all
12.50 links again& \\
12.51 - & - & New shortcuts (F1-F3) for use on Mac OS X& \\
12.52 + & - & Bugfix: Paste icon is disabled if clipboard is empty &\\
12.53 1.6.4 & - & xLinks (arbitrary connection between 2 branches) works
12.54 in a basic version (straight line) & 2005-04-15\\
12.55 1.6.3 & - & Bugfix: Saving of selection to a vym part (.vyp) &2005-03-30\\
13.1 --- a/version.h Wed May 18 07:39:58 2005 +0000
13.2 +++ b/version.h Mon May 23 15:28:20 2005 +0000
13.3 @@ -1,7 +1,7 @@
13.4 #ifndef VERSION_H
13.5 #define VERSION_H
13.6
13.7 -#define __VYM_VERSION__ "1.6.5"
13.8 -#define __BUILD_DATE__ "May 17, 2005"
13.9 +#define __VYM_VERSION__ "1.6.6"
13.10 +#define __BUILD_DATE__ "May 23, 2005"
13.11
13.12 #endif
14.1 --- a/xlinkobj.cpp Wed May 18 07:39:58 2005 +0000
14.2 +++ b/xlinkobj.cpp Mon May 23 15:28:20 2005 +0000
14.3 @@ -88,6 +88,7 @@
14.4
14.5 int XLinkObj::getWidth()
14.6 {
14.7 + cout << "XLO w="<<width<<endl;
14.8 return width;
14.9 }
14.10
14.11 @@ -112,10 +113,15 @@
14.12 {
14.13 if (beginBranch && endBranch)
14.14 {
14.15 + if (beginBranch==endBranch)
14.16 + { //FIXME debugging
14.17 + cout << "XLO::activate b=e="<<beginBranch->getHeading()<<endl;
14.18 + return false;
14.19 + }
14.20 xLinkState=activeXLink;
14.21 beginBranch->addXLink (this);
14.22 endBranch->addXLink (this);
14.23 - setVisibility (true);
14.24 + setVisibility ();
14.25 return true;
14.26 } else
14.27 return false;
14.28 @@ -266,17 +272,27 @@
14.29
14.30 QString XLinkObj::saveToDir ()
14.31 {
14.32 - QString s;
14.33 - if (beginBranch && endBranch)
14.34 + QString s="";
14.35 + if (beginBranch && endBranch &&xLinkState==activeXLink)
14.36 {
14.37 - QString colAttr=attribut ("color",color.name());
14.38 - QString widAttr=attribut ("width",QString().setNum(width,10));
14.39 - QString begSelAttr=attribut ("beginBranch",beginBranch->getSelectString());
14.40 - QString endSelAttr=attribut ("endBranch", endBranch->getSelectString());
14.41 - s=beginElement ("xlink", colAttr +widAttr +begSelAttr +endSelAttr);
14.42 + if (beginBranch==endBranch && xLinkState)
14.43 + {
14.44 + //FIXME testing
14.45 + //cout << " identical ends: "<<beginBranch->getSelectString()<<endl;
14.46 + s="";
14.47 + } else
14.48 + {
14.49 + QString colAttr=attribut ("color",color.name());
14.50 + QString widAttr=attribut ("width",QString().setNum(width,10));
14.51 + QString begSelAttr=attribut ("beginBranch",beginBranch->getSelectString());
14.52 + QString endSelAttr=attribut ("endBranch", endBranch->getSelectString());
14.53 + s=beginElement ("xlink", colAttr +widAttr +begSelAttr +endSelAttr);
14.54
14.55 - s+=endElement ("xlink");
14.56 + s+=endElement ("xlink");
14.57 + }
14.58 }
14.59 + //FIXME testing
14.60 + //cout << s<<endl;
14.61 return s;
14.62 }
14.63
15.1 --- a/xml.cpp Wed May 18 07:39:58 2005 +0000
15.2 +++ b/xml.cpp Mon May 23 15:28:20 2005 +0000
15.3 @@ -523,6 +523,7 @@
15.4 {
15.5 QColor col;
15.6 bool okx;
15.7 + bool success=false;
15.8 XLinkObj *xlo=new XLinkObj (mc->getCanvas());
15.9 if (!a.value( "color").isEmpty() )
15.10 {
15.11 @@ -548,13 +549,13 @@
15.12 {
15.13 xlo->setEnd ((BranchObj*)(lmo));
15.14 xlo->activate();
15.15 - return true;
15.16 }
15.17 }
15.18 - return true; // Not all branches there yet, no error
15.19 + success=true; // Not all branches there yet, no error
15.20 }
15.21 }
15.22 - return false;
15.23 + delete (xlo);
15.24 + return success;
15.25 }
15.26
15.27 bool mapBuilderHandler::readHtmlAttr (const QXmlAttributes& a)