# HG changeset patch
# User insilmaril
# Date 1117431550 0
# Node ID 270593ab83b25c23a1ddf4a8e24b0f43f53f2948
# Parent  c810a11d11d9777072dc52fbdffbc6d958879160
1.6.7

diff -r c810a11d11d9 -r 270593ab83b2 demos/todo.vym
Binary file demos/todo.vym has changed
diff -r c810a11d11d9 -r 270593ab83b2 floatimageobj.cpp
--- a/floatimageobj.cpp	Mon May 23 15:28:20 2005 +0000
+++ b/floatimageobj.cpp	Mon May 30 05:39:10 2005 +0000
@@ -1,6 +1,5 @@
 #include "floatimageobj.h"
 #include "branchobj.h"
-#include <math.h>
 
 
 /////////////////////////////////////////////////////////////////
@@ -67,7 +66,7 @@
 
 int FloatImageObj::z ()
 {
-	return lrint (icon->z());
+	return qRound (icon->z());
 }
 
 bool FloatImageObj::load (const QString &fn)
diff -r c810a11d11d9 -r 270593ab83b2 icons/flag-vymlink.xpm
--- a/icons/flag-vymlink.xpm	Mon May 23 15:28:20 2005 +0000
+++ b/icons/flag-vymlink.xpm	Mon May 30 05:39:10 2005 +0000
@@ -1,36 +1,33 @@
 /* XPM */
-static const char *flag_vymlink_xpm[] = {
-/* columns rows colors chars-per-pixel */
+static char * flag_vymlink_xpm[] = {
 "22 22 8 1",
-"  c Gray100",
-". c #848284",
-"X c #000084",
-"o c Gray0",
-"O c None",
-"+ c Gray0",
-"@ c Gray0",
-"# c Gray0",
-/* pixels */
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOO.XXXXXXOOOOOOOOOOO",
-"OOOXXXXXXXXXXOOOOOOXOO",
-"OO.XXOOOOOOXXXXOOOXXOO",
-"OOXXOOOOOOOOOXXXOXXXOO",
-"OOXXOOOOOOOOOOXXXXXXOO",
-"OOXXOOOOOOOOOOOXXXXXOO",
-"OOXXOOOOOOOOOOXXXXXXOO",
-"OOXXOOOOOOOOOXXXXXXXOO",
-"OO.XXOOOOOOOXXXXXXXXOO",
-"OOOXXX.OOOOOOOOOOOOOOO",
-"OOOOXXXOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO",
-"OOOOOOOOOOOOOOOOOOOOOO"
-};
+" 	c None",
+".	c #848284",
+"+	c #000084",
+"@	c #0026FF",
+"#	c #CC0833",
+"$	c #FF0000",
+"%	c #1C22E3",
+"&	c #8E1171",
+"  .++++++             ",
+" ++++++++++      +    ",
+".++      ++++   ++    ",
+"++         +++ +++    ",
+"++          ++++++    ",
+"++           +++++    ",
+"++          ++++++    ",
+"++         +++++++    ",
+".++       ++++++++    ",
+" +++.                 ",
+"  +++          @@@#   ",
+"          $$$$$$%$$$  ",
+"             @@@$$@@  ",
+"             @@$$%@@  ",
+"          $$$@@$@$$$$ ",
+"            $$$$@@@@  ",
+"          $$$&@@@@@@  ",
+"              @@@@@@  ",
+"              @@@@@   ",
+"              @@@@@   ",
+"               @@@@   ",
+"               @@@@   "};
diff -r c810a11d11d9 -r 270593ab83b2 icons/flags.xcf
Binary file icons/flags.xcf has changed
diff -r c810a11d11d9 -r 270593ab83b2 linkablemapobj.cpp
--- a/linkablemapobj.cpp	Mon May 23 15:28:20 2005 +0000
+++ b/linkablemapobj.cpp	Mon May 30 05:39:10 2005 +0000
@@ -1,5 +1,3 @@
-#include <cmath>
-
 #include "linkablemapobj.h"
 #include "branchobj.h"
 #include "mapeditor.h"
@@ -449,10 +447,10 @@
 	double vy=p2y - p1y;
 
 	// Draw the horizontal line below heading (from ChildPos to ParPos)
-	bottomline->setPoints (lrint(childPos.x()),
-		lrint(childPos.y()),
-		lrint(p1x),
-		lrint(p1y) );
+	bottomline->setPoints (qRound(childPos.x()),
+		qRound(childPos.y()),
+		qRound(p1x),
+		qRound(p1y) );
 
 	double a;	// angle
 	if (vx > -0.000001 && vx < 0.000001)
@@ -460,7 +458,7 @@
 	else
 		a=atan( vy / vx );
 	// "turning point" for drawing polygonal links
-	QPoint tp (-lrint(sin (a)*thickness_start), lrint(cos (a)*thickness_start));	
+	QPoint tp (-qRound(sin (a)*thickness_start), qRound(cos (a)*thickness_start));	
 	
 	QCanvasLine *cl;
 
@@ -470,10 +468,10 @@
 	switch (style)
 	{
 		case StyleLine:
-			l->setPoints( lrint (parPos.x()),
-				lrint(parPos.y()),
-				lrint(p2x),
-				lrint(p2y) );
+			l->setPoints( qRound (parPos.x()),
+				qRound(parPos.y()),
+				qRound(p2x),
+				qRound(p2y) );
 			break;	
 		case StyleParabel:	
 			parabel (pa0, p1x,p1y,p2x,p2y);
@@ -485,15 +483,15 @@
 			}
 			break;
 		case StylePolyLine:
-			pa0[0]=QPoint (lrint(p2x+tp.x()), lrint(p2y+tp.y()));
-			pa0[1]=QPoint (lrint(p2x-tp.x()), lrint(p2y-tp.y()));
-			pa0[2]=QPoint (lrint (parPos.x()), lrint(parPos.y()) );
+			pa0[0]=QPoint (qRound(p2x+tp.x()), qRound(p2y+tp.y()));
+			pa0[1]=QPoint (qRound(p2x-tp.x()), qRound(p2y-tp.y()));
+			pa0[2]=QPoint (qRound (parPos.x()), qRound(parPos.y()) );
 			p->setPoints (pa0);
 			// here too, draw line to avoid missing pixels
-			l->setPoints( lrint (parPos.x()),
-				lrint(parPos.y()),
-				lrint(p2x),
-				lrint(p2y) );
+			l->setPoints( qRound (parPos.x()),
+				qRound(parPos.y()),
+				qRound(p2x),
+				qRound(p2y) );
 			break;
 		case StylePolyParabel:	
 			parabel (pa1, p1x,p1y,p2x+tp.x(),p2y+tp.y());
@@ -709,12 +707,12 @@
 		m=(vy / (vx*vx));
 	dx=vx/(arcsegs);
 	int i;
-	ya.setPoint (0,QPoint (lrint(p1x),lrint(p1y)));
+	ya.setPoint (0,QPoint (qRound(p1x),qRound(p1y)));
 	for (i=1;i<=arcsegs;i++)
 	{	
 		pnx=p1x+dx;
 		pny=m*(pnx-parPos.x())*(pnx-parPos.x())+parPos.y();
-		ya.setPoint (i,QPoint (lrint(pnx),lrint(pny)));
+		ya.setPoint (i,QPoint (qRound(pnx),qRound(pny)));
 		p1x=pnx;
 		p1y=pny;
 	}	
diff -r c810a11d11d9 -r 270593ab83b2 mainwindow.cpp
--- a/mainwindow.cpp	Mon May 23 15:28:20 2005 +0000
+++ b/mainwindow.cpp	Mon May 30 05:39:10 2005 +0000
@@ -179,7 +179,7 @@
 			s=settings.readEntry (p,"konqueror");
 		#else
 			#if defined(Q_OS_MACX)
-				s=settings.readEntry (p,"/Applications/Safari.app/Contents/MacOS/Safari");
+				s=settings.readEntry (p,"/usr/bin/open");
 			#else
 				s=settings.readEntry (p,"mozilla");
 			#endif
@@ -192,7 +192,7 @@
 			s=settings.readEntry (p,"acroread");
 		#else
 			#if defined(Q_OS_MACX)
-				s=settings.readEntry (p,"/Applications/Safari.app/Contents/MacOS/Safari");
+				s=settings.readEntry (p,"/usr/bin/open");
 			#else
 				s=settings.readEntry (p,"acroread");
 			#endif
@@ -761,24 +761,21 @@
     QAction *a;
 	actionGroupModModes=new QActionGroup ( this, "formatLinkStyles");
 	actionGroupModModes->setExclusive (true);
-	//FIXME Linkstyle line???
-    a= new QAction( tr( "Use modifier to color branches" ), QPixmap(modecolor_xpm), tr( "Linkstyle Line" ), Key_K, actionGroupModModes, "modModeColor" );
+    a= new QAction( tr( "Use modifier to color branches" ), QPixmap(modecolor_xpm), tr( "Linkstyle Line" ), Key_J, actionGroupModModes, "modModeColor" );
 	a->setToggleAction(true);
 	a->addTo (tb);
 	a->setOn(true);
 	actionModModeColor=a;
+	
+    a= new QAction( tr( "Use modifier to copy" ), QPixmap(modecopy_xpm), tr( "Linkstyle Line" ), Key_K, actionGroupModModes, "modModeCopy" );
+	a->setToggleAction(true);
+	a->addTo (tb);
+	actionModModeCopy=a;
+
     a= new QAction( tr( "Use modifier to draw links" ), QPixmap(modelink_xpm), tr( "Linkstyle Line" ), Key_L, actionGroupModModes, "modModeLink" );
-	//FIXME Linkstyle line???
-
 	a->setToggleAction(true);
 	a->addTo (tb);
 	actionModModeLink=a;
-    a= new QAction( tr( "Use modifier to copy" ), QPixmap(modecopy_xpm), tr( "Linkstyle Line" ), Key_C, actionGroupModModes, "modModeCopy" );
-	//FIXME Linkstyle line???
-
-	a->setToggleAction(true);
-	a->addTo (tb);
-	actionModModeCopy=a;
 }
 
 // Flag Actions
diff -r c810a11d11d9 -r 270593ab83b2 mapeditor.cpp
--- a/mapeditor.cpp	Mon May 23 15:28:20 2005 +0000
+++ b/mapeditor.cpp	Mon May 30 05:39:10 2005 +0000
@@ -2258,7 +2258,7 @@
 		bo=bo->next();
 	}
     stats+=QString ("%1 branches\n").arg (b-1,6);
-    stats+=QString ("%1 xLinks \n").arg (xl-1,6);
+    stats+=QString ("%1 xLinks \n").arg (xl,6);
     stats+=QString ("%1 notes\n").arg (n,6);
     stats+=QString ("%1 images\n").arg (f,6);
 	dia.setStats (stats);
@@ -2951,8 +2951,7 @@
 					unselect();
 					selection=mapCenter->getLastBranch();
 					selection->select();
-					selection->setParObjTmp ((BranchObj*)(selection),p,1); 
-					selection->updateLink();
+					mapCenter->reposition();
 				}
 			}	else
 			{
diff -r c810a11d11d9 -r 270593ab83b2 misc.cpp
--- a/misc.cpp	Mon May 23 15:28:20 2005 +0000
+++ b/misc.cpp	Mon May 30 05:39:10 2005 +0000
@@ -1,8 +1,6 @@
 #include <qregexp.h>
 #include <qpoint.h>
 
-#include <cmath>
-
 #include "misc.h"
 
 
@@ -223,13 +221,13 @@
 		if (pix.width()>max_w)
 		{
 			r=max_w / pix.width();
-			pix.resize(lrint(pix.width()*r), lrint(pix.height()*r));
+			pix.resize(qRound(pix.width()*r), qRound(pix.height()*r));
 			// TODO not a resize, but a shrink/enlarge is needed here...
 		}
 		if (pix.height()>max_h)
 		{
 			r=max_h / pix.height();
-			pix.resize(lrint(pix.width()*r), lrint(pix.height()*r));
+			pix.resize(qRound(pix.width()*r), qRound(pix.height()*r));
 			// TODO not a resize, but a shrink/enlarge is needed here...
 		}
         setPixmap( pix );
diff -r c810a11d11d9 -r 270593ab83b2 tex/vym.tex
--- a/tex/vym.tex	Mon May 23 15:28:20 2005 +0000
+++ b/tex/vym.tex	Mon May 30 05:39:10 2005 +0000
@@ -160,6 +160,10 @@
 There are also more flags set by \vym automatically to show additional
 information, e.g. when a  exists for a  particular branch.
 
+By default some of these flags are set exclusively e.g. when the \lq
+thumb-up\rq flag is set, then the \lq thumb down\rq is unset and vice
+versa. You can change this default behaviour in the settings menu.
+
 \section{Mapeditor} \label {mapeditor}
 \subsection{Start a new map}
 After \vym is started two windows will open: the mapeditor and the
@@ -179,7 +183,10 @@
 branch. Finish adding the new branch by pressing \key{Enter}.
 %tipp
 Sometimes it comes handy to add a new branch above or below the current
-one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}. 
+one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}. It is also
+possible to add a branch in such a way, that the current selection
+becomes the child of the new branch, which is like inserting it {\em
+before} the selection. This can be done using the context menu.
 
 \subsection{Navigate through a map}
 \subsubsection*{Select branches}
@@ -714,6 +721,10 @@
 \begin{longtable}{|lcp{8cm}l|} \hline
 Version	&	&	Comment								& Date	\\ \hline \hline \endhead
 	\hline \endfoot
+1.6.7	& - &	Changed default pdf-reader for Mac OSX & 2005-05-27 \\ 
+		& - &	Bugfix: xLinks stopped working in 1.6.6			&\\
+		& - &	Bugfix: drawing error when using modModeCopy    &\\
+		& - &	Bugfix: replaced lrint by qRound for BSD ports	&\\
 1.6.6	& -	&	Exclusive standard flags			& 2005-05-23 \\
 1.6.5	& -	&	removing a branch and keeping its childs	& 2005-05-19 \\
         & -	&	removing childs of a branch			& \\
@@ -947,6 +958,10 @@
 % reorder
 % scroll
 % fold
+% vymlink
+% xlink
+% context menu
+% Mac OS X
 
 
 
diff -r c810a11d11d9 -r 270593ab83b2 version.h
--- a/version.h	Mon May 23 15:28:20 2005 +0000
+++ b/version.h	Mon May 30 05:39:10 2005 +0000
@@ -1,7 +1,7 @@
 #ifndef VERSION_H 
 #define VERSION_H
 
-#define __VYM_VERSION__ "1.6.6"
-#define __BUILD_DATE__ "May 23, 2005"
+#define __VYM_VERSION__ "1.6.7"
+#define __BUILD_DATE__ "May 27, 2005"
 
 #endif
diff -r c810a11d11d9 -r 270593ab83b2 xlinkobj.cpp
--- a/xlinkobj.cpp	Mon May 23 15:28:20 2005 +0000
+++ b/xlinkobj.cpp	Mon May 30 05:39:10 2005 +0000
@@ -88,7 +88,6 @@
 
 int XLinkObj::getWidth()
 {
-	cout << "XLO  w="<<width<<endl;
 	return width;
 }
 
@@ -113,11 +112,7 @@
 {
 	if (beginBranch && endBranch)
 	{
-		if (beginBranch==endBranch)
-		{	//FIXME debugging
-			cout << "XLO::activate  b=e="<<beginBranch->getHeading()<<endl;
-			return false;
-		}
+		if (beginBranch==endBranch) return false;
 		xLinkState=activeXLink;
 		beginBranch->addXLink (this);
 		endBranch->addXLink (this);
@@ -291,8 +286,6 @@
 			s+=endElement ("xlink");
 		}
 	}
-	//FIXME testing
-	//cout << s<<endl;
 	return s;
 }
 
diff -r c810a11d11d9 -r 270593ab83b2 xml.cpp
--- a/xml.cpp	Mon May 23 15:28:20 2005 +0000
+++ b/xml.cpp	Mon May 30 05:39:10 2005 +0000
@@ -554,7 +554,7 @@
 			success=true; // Not all branches there yet, no error
 		}           
 	}	
-	delete (xlo);
+	if (!success) delete (xlo);
 	return success;
 }