# HG changeset patch
# User insilmaril
# Date 1125921391 0
# Node ID 72cc3873306a565fb45c85d9c562401470088e27
# Parent e44baadd495854431e2cab9df8f0b54084d18338
Version 1.7.4, various bugfixes
diff -r e44baadd4958 -r 72cc3873306a aboutdialog.cpp
--- a/aboutdialog.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/aboutdialog.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -25,6 +25,7 @@
"
VYM - View Your Mind
"
" A tool to put the things you have got in your mind into a map.
"
" (c) by Uwe Drechsel (vym@InSilmaril.de)
"
+ " Version " __VYM_VERSION__" - " __BUILD_DATE__"
"
""
"- Contact
"
""
diff -r e44baadd4958 -r 72cc3873306a branchobj.cpp
--- a/branchobj.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/branchobj.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -743,6 +743,8 @@
else
posAttr="";
+ QString linkAttr=getLinkAttr();
+
QString urlAttr;
if (!url.isEmpty())
urlAttr=attribut ("url",url);
@@ -770,11 +772,11 @@
} else
areaAttr="";
- s=beginElement ("branch" +scrolledAttr +posAttr +urlAttr +vymLinkAttr +frameAttr +areaAttr );
+ s=beginElement ("branch" +scrolledAttr +posAttr +linkAttr +urlAttr +vymLinkAttr +frameAttr +areaAttr );
incIndent();
// save heading
- s=s+valueElement("heading", getHeading(),
+ s+=valueElement("heading", getHeading(),
attribut ("textColor",QColor(heading->getColor()).name()));
// save names of flags set
@@ -1302,6 +1304,15 @@
void BranchObj::select()
{
+ // set Text in Editor
+ textEditor->setText(note.getNote() );
+ QString fnh=note.getFilenameHint();
+ if (fnh!="")
+ textEditor->setFilenameHint(note.getFilenameHint() );
+ else
+ textEditor->setFilenameHint(getHeading() );
+ textEditor->setFontHint (note.getFontHint() );
+
LinkableMapObj::select();
// Tell parent that I am selected now:
BranchObj* po=(BranchObj*)(parObj);
@@ -1311,17 +1322,6 @@
// temporary unscroll, if we have scrolled parents somewhere
if (parObj) ((BranchObj*)(parObj))->tmpUnscroll();
- // set Text in Editor
- textEditor->setText(note.getNote() );
- QString fnh=note.getFilenameHint();
- if (fnh!="")
- textEditor->setFilenameHint(note.getFilenameHint() );
- else
- textEditor->setFilenameHint(getHeading() );
- textEditor->setFontHint (note.getFontHint() );
- connect (textEditor, SIGNAL (textHasChanged() ), this, SLOT (updateNoteFlag() ) );
- connect (textEditor, SIGNAL (fontSizeHasChanged() ), this, SLOT (updateNoteFlag() ) );
-
// Show URL and link in statusbar
QString status;
if (!url.isEmpty()) status+="URL: "+url+" ";
@@ -1355,10 +1355,6 @@
// reset temporary unscroll, if we have scrolled parents somewhere
if (parObj) ((BranchObj*)(parObj))->resetTmpUnscroll();
- // Disconnect textEditor from this LMO
- disconnect( textEditor, SIGNAL(textHasChanged()), 0, 0 );
- disconnect( textEditor, SIGNAL (fontSizeHasChanged()),0,0 );
-
// Erase content of editor
textEditor->setInactive();
diff -r e44baadd4958 -r 72cc3873306a demos/todo.vym
Binary file demos/todo.vym has changed
diff -r e44baadd4958 -r 72cc3873306a exports.cpp
--- a/exports.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/exports.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -35,7 +35,8 @@
// Main loop over all branches
QString s;
QString actIndent("");
- uint i;
+ int i;
+ uint j;
BranchObj *bo;
bo=mapCenter->first();
while (bo)
@@ -48,7 +49,7 @@
if (bo->getDepth()==0)
{
ts << (bo->getHeading()+ "\n");
- for (i=0;igetHeading().length();i++) ts<<"=";
+ for (j=0;jgetHeading().length();j++) ts<<"=";
ts << "\n";
} else if (bo->getDepth()==1)
ts << ("\n"+getSectionString(bo) + bo->getHeading()+ "\n");
diff -r e44baadd4958 -r 72cc3873306a floatobj.cpp
--- a/floatobj.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/floatobj.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -42,6 +42,8 @@
useOrientation=true;
floatExport=true;
zPlane=Z_ICON;
+ setLinkStyle (StyleParabel);
+ setHideLinkUnselected(true);
}
void FloatObj::copy (FloatObj* other)
diff -r e44baadd4958 -r 72cc3873306a linkablemapobj.cpp
--- a/linkablemapobj.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/linkablemapobj.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -91,6 +91,8 @@
selbox->hide();
selected=false;
+ hideLinkUnselected=false;
+
// initialize frame
frame = new FrameObj (canvas);
@@ -258,6 +260,18 @@
return style;
}
+void LinkableMapObj::setHideLinkUnselected(bool b)
+{
+ hideLinkUnselected=b;
+ setVisibility (visible);
+ updateLink();
+}
+
+bool LinkableMapObj::getHideLinkUnselected()
+{
+ return hideLinkUnselected;
+}
+
void LinkableMapObj::setLinkPos(LinkPos lp)
{
linkpos=lp;
@@ -302,7 +316,6 @@
default:
break;
} // switch (style)
- //FIXME updateLink();
}
QColor LinkableMapObj::getLinkColor()
@@ -333,32 +346,60 @@
void LinkableMapObj::setVisibility (bool v)
{
+ QCanvasLine* cl;
MapObj::setVisibility (v);
- if (visible)
+ bool visnow=visible;
+ if (hideLinkUnselected && !selected)
+ visnow=false;
+
+ if (visnow)
{
bottomline->show();
- // FIXME lines and segments should be done in LMO?
- if (style==StyleLine && l)
+ switch (style)
{
- l->show();
- } else
- {
- QCanvasLine* cl;
- for (cl=segment.first(); cl; cl=segment.next() )
- cl->show();
- }
+ case StyleLine:
+ if (l) l->show();
+ break;
+ case StyleParabel:
+ for (cl=segment.first(); cl; cl=segment.next() )
+ cl->show();
+ break;
+ case StylePolyLine:
+ if (p) p->show();
+ if (l) l->show();
+ break;
+ case StylePolyParabel:
+ for (cl=segment.first(); cl; cl=segment.next() )
+ cl->show();
+ if (p) p->show();
+ break;
+ default:
+ break;
+ }
} else
{
bottomline->hide();
- if (style==StyleLine && l)
+ switch (style)
{
- l->hide();
- } else
- {
- QCanvasLine* cl;
- for (cl=segment.first(); cl; cl=segment.next() )
- cl->hide();
- }
+ case StyleLine:
+ if (l) l->hide();
+ break;
+ case StyleParabel:
+ for (cl=segment.first(); cl; cl=segment.next() )
+ cl->hide();
+ break;
+ case StylePolyLine:
+ if (p) p->hide();
+ if (l) l->hide();
+ break;
+ case StylePolyParabel:
+ for (cl=segment.first(); cl; cl=segment.next() )
+ cl->hide();
+ if (p) p->hide();
+ break;
+ default:
+ break;
+ }
}
}
@@ -681,6 +722,7 @@
setSelBox();
selected=true;
selbox->show();
+ setVisibility (visible);
}
@@ -688,6 +730,7 @@
{
selected=false;
selbox->hide();
+ setVisibility (visible);
}
void LinkableMapObj::parabel (QPointArray &ya, double p1x, double p1y, double p2x, double p2y)
@@ -719,3 +762,15 @@
}
}
+QString LinkableMapObj::getLinkAttr ()
+{
+ QString hideAttr;
+ if (hideLinkUnselected)
+ // Since this is currently the
+ // only attribut and it is switched off by default
+ // don't write at all if it is missing
+ return attribut ("hideLinkUnselected","true");
+ else
+ return "";
+
+}
diff -r e44baadd4958 -r 72cc3873306a linkablemapobj.h
--- a/linkablemapobj.h Thu Sep 01 15:35:18 2005 +0000
+++ b/linkablemapobj.h Mon Sep 05 11:56:31 2005 +0000
@@ -36,6 +36,8 @@
LinkStyle getDefLinkStyle();
void setLinkStyle(LinkStyle);
LinkStyle getLinkStyle();
+ void setHideLinkUnselected(bool);
+ bool getHideLinkUnselected();
void setLinkPos (LinkPos);
LinkPos getLinkPos ();
@@ -79,6 +81,8 @@
protected:
void parabel(QPointArray &,double,double,double,double); // Create Parabel connecting two points
+ QString getLinkAttr();
+
QPoint childPos;
QPoint parPos;
bool link2ParPos; // While moving around, sometimes link to parent
@@ -94,7 +98,7 @@
int offset; // vertical offset of dockpos to pos
int thickness_start; // for StylePoly*
- LinkStyle style;
+ LinkStyle style; // Current style
LinkPos linkpos;
QColor linkcolor; // Link color
QCanvasLine* l; // line style
@@ -108,6 +112,7 @@
bool repositionRequest; //
bool selected; // Used for marking the selection
+ bool hideLinkUnselected; // to hide links if unselected
QCanvasRectangle* selbox;
FrameObj *frame; // frame around object
};
diff -r e44baadd4958 -r 72cc3873306a main.cpp
--- a/main.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/main.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -81,6 +81,7 @@
QAction *actionFormatFrameRectangle;
QActionGroup *actionGroupFormatLinkStyles;
+QAction *actionFormatHideLinkUnselected;
QAction *actionFormatLinkStyleLine;
QAction *actionFormatLinkStyleParabel;
QAction *actionFormatLinkStylePolyLine;
diff -r e44baadd4958 -r 72cc3873306a mainwindow.cpp
--- a/mainwindow.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/mainwindow.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -121,6 +121,7 @@
extern QAction *actionFormatLinkStyleParabel;
extern QAction *actionFormatLinkStylePolyLine;
extern QAction *actionFormatLinkStylePolyParabel;
+extern QAction *actionFormatHideLinkUnselected;
extern QAction *actionViewToggleNoteEditor;
@@ -234,6 +235,10 @@
connect (findWindow, SIGNAL( somethingChanged() ),
this, SLOT(editFindChanged() ) );
+ // FIXME testing
+ // Connect TextEditor, so that we can update flags if text changes
+ connect (textEditor, SIGNAL (textHasChanged() ), this, SLOT (updateNoteFlag()));
+
updateGeometry();
// Creating the default map into first tab is done in main.cpp now...
@@ -453,21 +458,18 @@
a = new QAction( tr( "Open URL" ), QPixmap(flag_url_xpm), tr( "Open URL" ), CTRL + Key_U, this, "url" );
connect( a, SIGNAL( activated() ), this, SLOT( editOpenURL() ) );
- a->addTo( menu );
a->addTo( tb );
a->setEnabled (false);
actionEditOpenURL=a;
a = new QAction( tr( "Edit URL" ), QPixmap(), tr( "Edit URL"+QString("...") ), SHIFT + CTRL + Key_U, this, "url" );
connect( a, SIGNAL( activated() ), this, SLOT( editURL() ) );
- a->addTo( menu );
a->setEnabled (false);
actionListBranches.append(a);
actionEditURL=a;
a = new QAction( tr( "Use heading of selected branch as URL" ), QPixmap(), tr( "Use heading for URL" ), 0, this, "heading2url" );
connect( a, SIGNAL( activated() ), this, SLOT( editHeading2URL() ) );
- a->addTo( menu );
a->setEnabled (false);
actionListBranches.append(a);
actionEditHeading2URL=a;
@@ -478,33 +480,26 @@
actionListBranches.append(a);
actionEditBugzilla2URL=a;
- menu->insertSeparator();
a = new QAction( tr( "Jump to another vym map, if needed load it first" ), QPixmap(flag_vymlink_xpm), tr( "Jump to map" ), 0, this, "jumpMap" );
connect( a, SIGNAL( activated() ), this, SLOT( editOpenVymLink() ) );
- a->addTo( menu );
a->addTo( tb );
a->setEnabled (false);
actionEditOpenVymLink=a;
a = new QAction( tr( "Edit link to another vym map" ), QPixmap(), tr( "Edit vym link"+QString("...") ), 0, this, "editLinkMap" );
connect( a, SIGNAL( activated() ), this, SLOT( editVymLink() ) );
- a->addTo( menu );
a->setEnabled (false);
actionListBranches.append(a);
actionEditVymLink=a;
a = new QAction( tr( "Delete link to another vym map" ), QPixmap(), tr( "Delete vym link" ), 0, this, "deleteLinkMap" );
connect( a, SIGNAL( activated() ), this, SLOT( editDeleteVymLink() ) );
- a->addTo( menu );
a->setEnabled (false);
actionEditDeleteVymLink=a;
- menu->insertSeparator();
-
a = new QAction( tr( "Edit Map Info" ), QPixmap(), tr( "Edit Map Info"+QString("...") ), 0, this, "editMapInfo" );
connect( a, SIGNAL( activated() ), this, SLOT( editMapInfo() ) );
- a->addTo( menu );
a->setEnabled (true);
actionEditMapInfo=a;
@@ -521,7 +516,6 @@
a = new QAction( tr( "edit Heading" ),tr( "Edit heading" ), Key_F2, this, "editHeading" );
connect( a, SIGNAL( activated() ), this, SLOT( editHeading() ) );
a->setEnabled (false);
- a->addTo ( menu );
actionEditHeading=a;
actionListBranches.append(a);
@@ -529,7 +523,6 @@
a = new QAction( tr( "Delete Selection" ),tr( "Delete Selection" ), Key_Delete, this, "deleteBranch" );
connect( a, SIGNAL( activated() ), this, SLOT( editDeleteSelection() ) );
a->setEnabled (false);
- a->addTo ( menu );
actionEditDelete=a;
// Shortcut to add branch
@@ -697,6 +690,11 @@
connect( a, SIGNAL( activated() ), this, SLOT( formatFrameRectangle() ) );
actionFormatFrameRectangle=a;
+ a = new QAction( tr( "Hide link" ),tr( "Hide link if object is not selected" ), 0, actionFormatHideLinkUnselected, "hideLinkUnselected" );
+ a->setToggleAction(true);
+ connect( a, SIGNAL( activated() ), this, SLOT( formatHideLinkUnselected() ) );
+ actionFormatHideLinkUnselected=a;
+
menu->insertSeparator();
a= new QAction( tr( "Use same color for links and headings" ), QPixmap(), tr( "&Use color of heading for link" ), 0, this, "formatLinkColorHint" );
a->setToggleAction(true);
@@ -924,6 +922,9 @@
branchContextMenu->insertSeparator();
actionGroupFormatFrameTypes->addTo( branchContextMenu );
+ branchContextMenu->insertSeparator();
+ actionFormatHideLinkUnselected->addTo( branchContextMenu );
+
// Context Menu for links in a branch menu
// This will be populated "on demand" in MapEditor::updateActions
branchContextMenu->insertSeparator();
@@ -961,7 +962,8 @@
a->addTo( floatimageContextMenu);
actionEditToggleFloatExport=a;
-
+ floatimageContextMenu->insertSeparator();
+ actionFormatHideLinkUnselected->addTo( floatimageContextMenu );
// Context menu for exports
exportMenu->insertItem ( tr("Export map as image"),exportImageFormatMenu);
@@ -2195,6 +2197,12 @@
currentMapEditor()->setFrame(Rectangle);
}
+void Main::formatHideLinkUnselected()
+{
+ if (currentMapEditor())
+ currentMapEditor()->setHideLinkUnselected(actionFormatHideLinkUnselected->isOn());
+}
+
void Main::viewZoomReset()
{
if (currentMapEditor())
@@ -2273,6 +2281,12 @@
windowShowNoteEditor();
}
+void Main::updateNoteFlag()
+{
+ if (currentMapEditor())
+ currentMapEditor()->updateNoteFlag();
+}
+
void Main::windowShowNoteEditor()
{
textEditor->setShowWithMain(true);
diff -r e44baadd4958 -r 72cc3873306a mainwindow.h
--- a/mainwindow.h Thu Sep 01 15:35:18 2005 +0000
+++ b/mainwindow.h Mon Sep 05 11:56:31 2005 +0000
@@ -135,6 +135,7 @@
void formatToggleLinkColorHint();
void formatFrameNone();
void formatFrameRectangle();
+ void formatHideLinkUnselected();
void viewZoomReset();
void viewZoomIn();
@@ -148,6 +149,8 @@
bool settingsURL();
void windowToggleNoteEditor();
+ void updateNoteFlag();
+
private slots:
void windowNextEditor();
void windowPreviousEditor();
diff -r e44baadd4958 -r 72cc3873306a mapeditor.cpp
--- a/mapeditor.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/mapeditor.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -115,6 +115,7 @@
extern QAction *actionFormatFrameRectangle;
extern QActionGroup *actionGroupFormatLinkStyles;
+extern QAction *actionFormatHideLinkUnselected;
extern QAction *actionFormatLinkStyleLine;
extern QAction *actionFormatLinkStyleParabel;
extern QAction *actionFormatLinkStylePolyLine;
@@ -154,6 +155,7 @@
setCanvas (mapCanvas);
+ // Always show scroll bars (automatic would flicker sometimes)
setVScrollBarMode ( QScrollView::AlwaysOn );
setHScrollBarMode ( QScrollView::AlwaysOn );
@@ -2602,6 +2604,8 @@
default:
break;
}
+ actionFormatHideLinkUnselected->setOn
+ ( selection->getHideLinkUnselected());
}
if ( (typeid(*selection) == typeid(FloatImageObj)) )
{
@@ -2619,6 +2623,8 @@
actionEditDelete->setEnabled (true);
actionEditToggleFloatExport->setOn
( ((FloatImageObj*)(selection))->getFloatExport() );
+ actionFormatHideLinkUnselected->setOn
+ ( selection->getHideLinkUnselected());
}
} else
@@ -2640,6 +2646,16 @@
}
}
+void MapEditor::updateNoteFlag()
+{
+ if (selection)
+ {
+ if ( (typeid(*selection) == typeid(BranchObj)) ||
+ (typeid(*selection) == typeid(MapCenterObj)) )
+ ((BranchObj*)selection)->updateNoteFlag();
+ }
+}
+
void MapEditor::setLinkStyle (LinkStyle ls)
{
linkstyle=ls;
@@ -2878,6 +2894,15 @@
}
}
+void MapEditor::setHideLinkUnselected (bool b)
+{
+ if (selection &&
+ (typeid(*selection) == typeid(BranchObj)) ||
+ (typeid(*selection) == typeid(MapCenterObj)) ||
+ (typeid(*selection) == typeid(FloatImageObj)) )
+ selection->setHideLinkUnselected(b);
+}
+
void MapEditor::importDir(BranchObj *dst, QDir d)
{
if (selection &&
@@ -3211,7 +3236,7 @@
// Move the selected MapObj
if ( selection && movingObj)
{
- ensureVisible (p.x(),p.y());
+ ensureSelectionVisible ();
// Now move the selection, but add relative position
// (movingObj_start) where selection was chosen with
diff -r e44baadd4958 -r 72cc3873306a mapeditor.h
--- a/mapeditor.h Thu Sep 01 15:35:18 2005 +0000
+++ b/mapeditor.h Mon Sep 05 11:56:31 2005 +0000
@@ -129,6 +129,7 @@
void removeChilds(); // remove childs
void editMapInfo(); // dialog to enter author, ...
void updateActions(); // update e.g. format buttons
+ void updateNoteFlag(); // when TextEditor changes
void setLinkStyle (LinkStyle); // Set style of link
LinkStyle getLinkStyle (); // requested in LMO
void setLinkColor(QColor); // default color of links
@@ -148,6 +149,8 @@
void saveFloatImage (int);
void toggleFloatExport();
void setFrame(const FrameType &);
+ void setHideLinkUnselected (bool);
+ bool getHideLinkUnselected ();
private:
void importDir(BranchObj *,QDir);
public:
diff -r e44baadd4958 -r 72cc3873306a ornamentedobj.cpp
--- a/ornamentedobj.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/ornamentedobj.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -199,13 +199,16 @@
void OrnamentedObj::updateNoteFlag()
{
- // text in NoteEditor has changed, notify MapEditor
- mapEditor->setChanged();
+ if (selected)
+ {
+ // text in NoteEditor has changed, notify MapEditor
+ mapEditor->setChanged();
- // save text
- setNote( textEditor->getText() );
+ // save text
+ setNote( textEditor->getText() );
- // save font
- note.setFontHint (textEditor->getFontHint() );
+ // save font
+ note.setFontHint (textEditor->getFontHint() );
+ }
}
diff -r e44baadd4958 -r 72cc3873306a ornamentedobj.h
--- a/ornamentedobj.h Thu Sep 01 15:35:18 2005 +0000
+++ b/ornamentedobj.h Mon Sep 05 11:56:31 2005 +0000
@@ -4,7 +4,6 @@
#include "linkablemapobj.h"
class OrnamentedObj:public LinkableMapObj {
- Q_OBJECT
public:
OrnamentedObj ();
OrnamentedObj (QCanvas*);
@@ -33,9 +32,7 @@
virtual void toggleStandardFlag(QString, bool);
virtual void activateStandardFlag(QString);
virtual QString getSystemFlagName (const QPoint &p);
-
-public slots:
- void updateNoteFlag();
+ virtual void updateNoteFlag();
protected:
HeadingObj *heading; // Heading
diff -r e44baadd4958 -r 72cc3873306a tex/vym.changelog
--- a/tex/vym.changelog Thu Sep 01 15:35:18 2005 +0000
+++ b/tex/vym.changelog Mon Sep 05 11:56:31 2005 +0000
@@ -1,3 +1,14 @@
+-------------------------------------------------------------------
+Sun Sep 5 10:26:15 CEST 2005 - uwedr
+
+- Version 1.7.4
+- Feature: Link of a branch can be hidden, if object is not selected
+- Bugfix: Zoomed map no longer "jumps around" when branch is selected
+ or moved.
+- Bugfix: TextEditor now has grey background again, if it is empty
+- Bugfix: BranchObj no longer need to connect to TextEditor, BranchObj
+ is no longer a QOBJECT
+
-------------------------------------------------------------------
Thu Sep 1 12:26:24 CEST 2005 - uwedr
diff -r e44baadd4958 -r 72cc3873306a texteditor.cpp
--- a/texteditor.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/texteditor.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -527,13 +527,10 @@
else
state=filledEditor;
- if (state != oldstate)
- {
if (state==emptyEditor)
e->setPaper (emptyPaper);
else
e->setPaper (filledPaper);
- }
// SLOT is LinkableMapObj, which will update systemFlag
emit (textHasChanged() );
}
@@ -545,7 +542,7 @@
t = QStyleSheet::convertFromPlainText( t, QStyleSheetItem::WhiteSpaceNormal );
e->setReadOnly(false);
e->setText(t);
- editorChanged(); //not called automagically
+// editorChanged(); //not called automagically FIXME or is it?
enableActions();
}
diff -r e44baadd4958 -r 72cc3873306a version.h
--- a/version.h Thu Sep 01 15:35:18 2005 +0000
+++ b/version.h Mon Sep 05 11:56:31 2005 +0000
@@ -1,7 +1,7 @@
#ifndef VERSION_H
#define VERSION_H
-#define __VYM_VERSION__ "1.7.3"
-#define __BUILD_DATE__ "September 1, 2005"
+#define __VYM_VERSION__ "1.7.4"
+#define __BUILD_DATE__ "September 5, 2005"
#endif
diff -r e44baadd4958 -r 72cc3873306a xml.cpp
--- a/xml.cpp Thu Sep 01 15:35:18 2005 +0000
+++ b/xml.cpp Mon Sep 05 11:56:31 2005 +0000
@@ -13,6 +13,7 @@
static BranchObj *lastBranch;
static FloatObj *lastFloat;
+static LinkableMapObj *lastLMO;
extern Settings settings;
@@ -139,7 +140,7 @@
if (lmo && (typeid(*lmo) == typeid(BranchObj) )
|| (typeid(*lmo) == typeid(MapCenterObj) ) )
{
- lastBranch=(BranchObj*)(lmo);
+ lastBranch=(BranchObj*)lmo;
if (loadMode==ImportAdd)
{
lastBranch->addBranch();
@@ -197,6 +198,7 @@
{
lastBranch->addBranch();
lastBranch=lastBranch->getLastBranch();
+
} else
lastBranch->clear();
} else
@@ -398,6 +400,9 @@
bool mapBuilderHandler::readBranchAttr (const QXmlAttributes& a)
{
+ lastLMO=lastBranch;
+ if (!readLinkAttr(a)) return false;
+
bool okx,oky;
int x,y;
if (!a.value( "absPosX").isEmpty() && loadMode==NewMap && branchDepth<2)
@@ -423,6 +428,16 @@
return true;
}
+bool mapBuilderHandler::readLinkAttr (const QXmlAttributes& a)
+{
+ if (!a.value( "hideLinkUnselected").isEmpty())
+ {
+ if (a.value ("hideLinkUnselected") =="true")
+ if (lastLMO) lastLMO->setHideLinkUnselected(true);
+ }
+ return true;
+}
+
bool mapBuilderHandler::readNoteAttr (const QXmlAttributes& a)
{ // only for backward compatibility (<1.4.6). Use htmlnote now.
no.clear();
@@ -471,6 +486,9 @@
bool mapBuilderHandler::readFloatImageAttr (const QXmlAttributes& a)
{
+ lastLMO=lastFloat;
+ if (!readLinkAttr(a)) return false;
+
if (!a.value( "useOrientation").isEmpty() )
{
if (a.value ("useOrientation") =="true")
diff -r e44baadd4958 -r 72cc3873306a xml.h
--- a/xml.h Thu Sep 01 15:35:18 2005 +0000
+++ b/xml.h Mon Sep 05 11:56:31 2005 +0000
@@ -27,6 +27,7 @@
void setTmpDir (QString);
void setLoadMode (const LoadMode &);
bool readBranchAttr (const QXmlAttributes&);
+ bool readLinkAttr (const QXmlAttributes&);
bool readNoteAttr (const QXmlAttributes&);
bool readFloatImageAttr (const QXmlAttributes&);
bool readXLinkAttr (const QXmlAttributes&);