links are now partially visible, if one end is scrolled
authorinsilmaril
Sat, 09 Apr 2005 22:50:08 +0000
changeset 946783e13bb05d
parent 93 31c6ce8efbc7
child 95 f688a9913724
links are now partially visible, if one end is scrolled
branchobj.cpp
branchobj.h
demos/todo.vym
lang/vym_de.ts
linkobj.cpp
linkobj.h
main.cpp
mainwindow.cpp
mainwindow.h
mapeditor.cpp
mapeditor.h
tex/vym.tex
texteditor.cpp
version.h
vym.pro
     1.1 --- a/branchobj.cpp	Thu Mar 24 21:10:38 2005 +0000
     1.2 +++ b/branchobj.cpp	Sat Apr 09 22:50:08 2005 +0000
     1.3 @@ -380,9 +380,11 @@
     1.4  			FloatImageObj *fio;
     1.5  			for (fio=floatimage.first(); fio; fio=floatimage.next())
     1.6  				fio->setVisibility (v);
     1.7 +			LinkObj* lo;
     1.8 +			for (lo=link.first(); lo;lo=link.next() ) 
     1.9 +				lo->setVisibility ();	
    1.10  		}
    1.11      } // depth <= toDepth	
    1.12 -	//FIXME move (absPos.x(), absPos.y() );
    1.13  	requestReposition();
    1.14  }	
    1.15  
    1.16 @@ -798,7 +800,7 @@
    1.17  	
    1.18  }
    1.19  
    1.20 -void BranchObj::removeLink (LinkObj *lo)
    1.21 +void BranchObj::removeLinkRef (LinkObj *lo)
    1.22  {
    1.23  	link.remove (lo);
    1.24  }
    1.25 @@ -809,6 +811,16 @@
    1.26  	if (!lo->isUsed()) delete (lo);
    1.27  }
    1.28  
    1.29 +void BranchObj::deleteLinkAt (int i)
    1.30 +{
    1.31 +	LinkObj *lo=link.at(i);
    1.32 +	lo->deactivate();
    1.33 +	if (!lo->isUsed()) 
    1.34 +	{
    1.35 +		delete(lo);
    1.36 +	}	
    1.37 +}
    1.38 +
    1.39  int BranchObj::countLink()
    1.40  {
    1.41  	return link.count();
    1.42 @@ -1044,13 +1056,16 @@
    1.43  {
    1.44  	// Find current parent and 
    1.45  	// remove pointer to myself there
    1.46 +
    1.47 +	if (!dst) return NULL;
    1.48 +
    1.49  	BranchObj *par=(BranchObj*)(parObj);
    1.50  	if (par)
    1.51  		par->removeBranchPtr (this);
    1.52  	else
    1.53  		return NULL;
    1.54  
    1.55 -	if (pos<0)
    1.56 +	if (pos<0  || dst->getDepth()==1)
    1.57  	{	
    1.58  		// links adds myself as last branch at dst
    1.59  		dst->addBranchPtr (this);
     2.1 --- a/branchobj.h	Thu Mar 24 21:10:38 2005 +0000
     2.2 +++ b/branchobj.h	Sat Apr 09 22:50:08 2005 +0000
     2.3 @@ -64,8 +64,9 @@
     2.4      virtual QString getVymLink ();
     2.5  	virtual QString saveToDir (const QString&,const QString&, const QPoint&);// Save data recursivly to tempdir
     2.6  	virtual void addLink (LinkObj*);
     2.7 -	virtual void removeLink (LinkObj*);
     2.8 -	virtual void deleteLink (LinkObj*);
     2.9 +	virtual void removeLinkRef (LinkObj*);	// Remove ref in list
    2.10 +	virtual void deleteLink (LinkObj*);		// remove references and delete LinkObj 
    2.11 +	virtual void deleteLinkAt (int);		// remove references and delete LinkObj 
    2.12  	virtual int countLink ();
    2.13  	virtual BranchObj* linkTargetAt (int);
    2.14  	virtual LinkableMapObj* addFloatImage();
     3.1 Binary file demos/todo.vym has changed
     4.1 --- a/lang/vym_de.ts	Thu Mar 24 21:10:38 2005 +0000
     4.2 +++ b/lang/vym_de.ts	Sat Apr 09 22:50:08 2005 +0000
     4.3 @@ -273,7 +273,7 @@
     4.4      </message>
     4.5      <message>
     4.6          <source>&amp;Save...</source>
     4.7 -        <translation>Speichern &amp;unter...</translation>
     4.8 +        <translation>&amp;Speichern...</translation>
     4.9      </message>
    4.10      <message>
    4.11          <source>Save &amp;As...</source>
     5.1 --- a/linkobj.cpp	Thu Mar 24 21:10:38 2005 +0000
     5.2 +++ b/linkobj.cpp	Sat Apr 09 22:50:08 2005 +0000
     5.3 @@ -8,20 +8,20 @@
     5.4  
     5.5  LinkObj::LinkObj ():MapObj() 
     5.6  {
     5.7 -//	cout << "Const LinkObj ()\n";
     5.8 -    init();
     5.9 +	//	cout << "Const LinkObj ()\n";
    5.10 +	init();
    5.11  }
    5.12  
    5.13  LinkObj::LinkObj (QCanvas* c):MapObj(c)
    5.14  {
    5.15 -//	cout << "Const LinkObj (c)  called from MapCenterObj (c)\n";
    5.16 -    init();
    5.17 +	//	cout << "Const LinkObj (c)  called from MapCenterObj (c)\n";
    5.18 +	init();
    5.19  }
    5.20  
    5.21  
    5.22  LinkObj::~LinkObj ()
    5.23  {
    5.24 -//	cout << "Destr LinkObj\n";
    5.25 +	//	cout << "Destr LinkObj\n";
    5.26  	if (linkState!=undefinedLink)
    5.27  		deactivate();
    5.28  	delete (line);
    5.29 @@ -31,6 +31,7 @@
    5.30  {
    5.31  	beginBranch=NULL;
    5.32  	endBranch=NULL;
    5.33 +	visBranch=NULL;
    5.34  	linkState=undefinedLink;
    5.35  
    5.36  	line=new QCanvasLine (canvas);
    5.37 @@ -91,11 +92,12 @@
    5.38  void LinkObj::deactivate ()
    5.39  {
    5.40  	if (beginBranch)
    5.41 -		beginBranch->removeLink (this);
    5.42 +		beginBranch->removeLinkRef (this);
    5.43  	beginBranch=NULL;	
    5.44  	if (endBranch)
    5.45 -		endBranch->removeLink (this);
    5.46 +		endBranch->removeLinkRef (this);
    5.47  	endBranch=NULL;	
    5.48 +	visBranch=NULL;
    5.49  	linkState=undefinedLink;
    5.50  
    5.51  	line->hide();
    5.52 @@ -112,22 +114,38 @@
    5.53  void LinkObj::updateLink()
    5.54  {
    5.55  	QPoint a,b;
    5.56 -	if (beginBranch)
    5.57 -		// If a link is just drawed in the editor,
    5.58 -		// we have already a beginBranch
    5.59 -		a=beginBranch->getChildPos();
    5.60 -	else
    5.61 -		// This shouldn't be reached normally...
    5.62 -		a=beginPos;
    5.63 -	if (linkState==activeLink && endBranch)
    5.64 -		b=endBranch->getChildPos();
    5.65 -	else
    5.66 -		b=endPos;
    5.67 -	
    5.68 -	if (line->startPoint()==a && line->endPoint()==b)
    5.69 +	if (visBranch)
    5.70 +	{
    5.71 +		// Only one of the linked branches is visible
    5.72 +		a=b=visBranch->getChildPos();
    5.73 +		if (visBranch->getOrientation()==OrientRightOfCenter)
    5.74 +			b.setX (b.x()+25);
    5.75 +		else
    5.76 +			b.setX (b.x()-25);
    5.77 +	} else
    5.78 +	{
    5.79 +		// Both linked branches are visible
    5.80 +		if (beginBranch)
    5.81 +			// If a link is just drawn in the editor,
    5.82 +			// we have already a beginBranch
    5.83 +			a=beginBranch->getChildPos();
    5.84 +		else
    5.85 +			// This shouldn't be reached normally...
    5.86 +			a=beginPos;
    5.87 +		if (linkState==activeLink && endBranch)
    5.88 +			b=endBranch->getChildPos();
    5.89 +		else
    5.90 +			b=endPos;
    5.91 +	}
    5.92 +
    5.93 +
    5.94 +	if (line->startPoint()==a && line->endPoint()==b && !visBranch)
    5.95 +	{
    5.96  		// update is called from both branches, so only
    5.97  		// update if needed
    5.98 +		cout <<"LO__updateL  returnung...\n";
    5.99  		return;
   5.100 +	}	
   5.101  	else
   5.102  	{
   5.103  		beginPos=a;
   5.104 @@ -167,3 +185,31 @@
   5.105  	}	
   5.106  }
   5.107  
   5.108 +void LinkObj::setVisibility ()
   5.109 +{
   5.110 +	if (beginBranch && endBranch)
   5.111 +	{
   5.112 +		if(beginBranch->isVisibleObj() && endBranch->isVisibleObj())
   5.113 +		{	// Both ends are visible
   5.114 +			setVisibility (true);
   5.115 +			visBranch=NULL;
   5.116 +		} else
   5.117 +		{
   5.118 +			if(!beginBranch->isVisibleObj() && !endBranch->isVisibleObj())
   5.119 +			{	//None of the ends is visible
   5.120 +				setVisibility (false);
   5.121 +				visBranch=NULL;
   5.122 +			} else
   5.123 +			{	// Just one end is visible, draw a symbol that shows
   5.124 +				// that there is a link to a scrolled branch
   5.125 +				setVisibility (true);
   5.126 +				if (beginBranch->isVisibleObj())
   5.127 +					visBranch=beginBranch;
   5.128 +				else
   5.129 +					visBranch=endBranch;
   5.130 +					
   5.131 +			}
   5.132 +		}
   5.133 +	}
   5.134 +}
   5.135 +
     6.1 --- a/linkobj.h	Thu Mar 24 21:10:38 2005 +0000
     6.2 +++ b/linkobj.h	Sat Apr 09 22:50:08 2005 +0000
     6.3 @@ -24,11 +24,13 @@
     6.4  	void positionBBox();
     6.5  	void calcBBoxSize();
     6.6  	void setVisibility (bool);
     6.7 +	void setVisibility ();
     6.8  
     6.9  private:
    6.10  	QCanvasLine *line;
    6.11  	BranchObj *beginBranch;
    6.12  	BranchObj *endBranch;
    6.13 +	BranchObj *visBranch;	// the "visible" part of a partially scrolled link
    6.14  	LinkState linkState;	// init during drawing or active
    6.15  	QPoint beginPos;
    6.16  	QPoint   endPos;
     7.1 --- a/main.cpp	Thu Mar 24 21:10:38 2005 +0000
     7.2 +++ b/main.cpp	Sat Apr 09 22:50:08 2005 +0000
     7.3 @@ -52,7 +52,6 @@
     7.4  QAction *actionEditSelectLast;
     7.5  QAction *actionEditLoadImage;
     7.6  QAction *actionEditToggleFloatExport;
     7.7 -QAction *actionEditNoLink;
     7.8  
     7.9  QAction *actionFormatColor;		
    7.10  QAction *actionFormatPickColor;		
    7.11 @@ -87,6 +86,7 @@
    7.12  
    7.13  QPopupMenu *branchContextMenu;
    7.14  QPopupMenu *branchLinksContextMenu;
    7.15 +QPopupMenu *branchLinksContextMenuDup;
    7.16  QPopupMenu *floatimageContextMenu;
    7.17  QPopupMenu *saveImageFormatMenu;
    7.18  QPopupMenu *canvasContextMenu;
     8.1 --- a/mainwindow.cpp	Thu Mar 24 21:10:38 2005 +0000
     8.2 +++ b/mainwindow.cpp	Sat Apr 09 22:50:08 2005 +0000
     8.3 @@ -92,7 +92,6 @@
     8.4  extern QAction *actionEditSelectLast;
     8.5  extern QAction *actionEditLoadImage;
     8.6  extern QAction *actionEditToggleFloatExport;
     8.7 -extern QAction *actionEditNoLink;
     8.8  
     8.9  extern QAction* actionFormatColor;
    8.10  extern QAction* actionFormatPickColor;
    8.11 @@ -128,6 +127,7 @@
    8.12  
    8.13  extern QPopupMenu* branchContextMenu;
    8.14  extern QPopupMenu* branchLinksContextMenu;
    8.15 +extern QPopupMenu* branchLinksContextMenuDup;
    8.16  extern QPopupMenu* floatimageContextMenu;
    8.17  extern QPopupMenu* saveImageFormatMenu;
    8.18  extern QPopupMenu* canvasContextMenu;
    8.19 @@ -572,10 +572,6 @@
    8.20      connect( a, SIGNAL( activated() ), this, SLOT( editLoadImage() ) );
    8.21  	actionEditLoadImage=a;
    8.22  
    8.23 -	// inserted into branchLinksContextMenu, if no link is available.
    8.24 -    a = new QAction( tr( "No link available" ),tr( "No link available" ), 0, this, "noLink" );
    8.25 -	a->setEnabled (false);
    8.26 -	actionEditNoLink=a;
    8.27  }
    8.28  
    8.29  // Format Actions
    8.30 @@ -856,8 +852,12 @@
    8.31  	// This will be populated "on demand" in MapEditor::updateActions
    8.32  	branchContextMenu->insertSeparator();	
    8.33  	branchLinksContextMenu =new QPopupMenu (this);
    8.34 -	branchContextMenu->insertItem ("Goto Link",branchLinksContextMenu);
    8.35 +	branchContextMenu->insertItem (tr("Goto Link"),branchLinksContextMenu);
    8.36  	connect( branchLinksContextMenu, SIGNAL( activated(int) ), this, SLOT( editFollowLink(int ) ) );
    8.37 +	
    8.38 +	branchLinksContextMenuDup =new QPopupMenu (this);
    8.39 +	branchContextMenu->insertItem (tr("Edit Link"),branchLinksContextMenuDup);
    8.40 +	connect( branchLinksContextMenuDup, SIGNAL( activated(int) ), this, SLOT( editEditLink(int ) ) );
    8.41  
    8.42  	// Context menu for floatimage
    8.43  	floatimageContextMenu =new QPopupMenu (this);
    8.44 @@ -1537,8 +1537,9 @@
    8.45  			fileSave(savemode);
    8.46  
    8.47  			// Set name of tab
    8.48 -			tabWidget->setTabLabel (currentMapEditor(),
    8.49 -				currentMapEditor()->getFileName() );
    8.50 +			if (savemode==CompleteMap)
    8.51 +				tabWidget->setTabLabel (currentMapEditor(),
    8.52 +					currentMapEditor()->getFileName() );
    8.53  			return;
    8.54  		} 
    8.55  	}
    8.56 @@ -1999,6 +2000,12 @@
    8.57  		currentMapEditor()->followLink(branchLinksContextMenu->indexOf(item));
    8.58  }
    8.59  
    8.60 +void Main::editEditLink(int item)
    8.61 +{
    8.62 +	if (currentMapEditor())
    8.63 +		currentMapEditor()->editLink(branchLinksContextMenuDup->indexOf(item));
    8.64 +}
    8.65 +
    8.66  void Main::formatSelectColor()
    8.67  {
    8.68  	if (currentMapEditor())
     9.1 --- a/mainwindow.h	Thu Mar 24 21:10:38 2005 +0000
     9.2 +++ b/mainwindow.h	Sat Apr 09 22:50:08 2005 +0000
     9.3 @@ -116,6 +116,7 @@
     9.4      void editSaveImage(int);
     9.5      void editToggleFloatExport();
     9.6      void editFollowLink (int);
     9.7 +    void editEditLink (int);
     9.8  
     9.9      void formatSelectColor();
    9.10      void formatPickColor();
    10.1 --- a/mapeditor.cpp	Thu Mar 24 21:10:38 2005 +0000
    10.2 +++ b/mapeditor.cpp	Sat Apr 09 22:50:08 2005 +0000
    10.3 @@ -29,6 +29,7 @@
    10.4  #include "misc.h"
    10.5  #include "mainwindow.h"
    10.6  #include "extrainfodialog.h"
    10.7 +#include "editlinkdialog.h"
    10.8  #include "settings.h"
    10.9  
   10.10  #include "icons/flag-note.xpm"
   10.11 @@ -87,7 +88,6 @@
   10.12  extern QAction *actionEditSelectLast;
   10.13  extern QAction *actionEditLoadImage;
   10.14  extern QAction *actionEditToggleFloatExport;
   10.15 -extern QAction *actionEditNoLink;
   10.16  
   10.17  extern QAction* actionFormatPickColor;
   10.18  extern QAction* actionFormatColorBranch;
   10.19 @@ -120,6 +120,7 @@
   10.20  
   10.21  extern QPopupMenu *branchContextMenu;
   10.22  extern QPopupMenu *branchLinksContextMenu;
   10.23 +extern QPopupMenu *branchLinksContextMenuDup;
   10.24  extern QPopupMenu *floatimageContextMenu;
   10.25  extern QPopupMenu *saveImageFormatMenu;
   10.26  extern QPopupMenu *exportImageFormatMenu;
   10.27 @@ -521,6 +522,9 @@
   10.28  		if ( undoSelection &&
   10.29  			typeid(*undoSelection) == typeid(BranchObj) )
   10.30  			s+=((BranchObj*)(undoSelection))->saveToDir(tmpdir,prefix,offset);
   10.31 +		else	
   10.32 +			if (selection && typeid(*selection)==typeid(BranchObj))
   10.33 +				s+=((BranchObj*)(selection))->saveToDir(tmpdir,prefix,offset);
   10.34  	}
   10.35  
   10.36  	// Save local settings
   10.37 @@ -550,8 +554,8 @@
   10.38  	// the xml data itself is kept in memory in backupXML
   10.39  	// 
   10.40  	// For faster write/read of data, a part of the map can be
   10.41 -	// written. Then the undoSelection will mark, which part of the
   10.42 -	// map should be replaced if an undo is wanted later.
   10.43 +	// written. Then the undoSelection will mark the part of the
   10.44 +	// map which should be replaced if an undo is wanted later.
   10.45  
   10.46  	if (mode==PartOfMap && part && (typeid(*part) == typeid (BranchObj) ) ) 
   10.47  	{
   10.48 @@ -773,7 +777,7 @@
   10.49  	if ( !file.open( IO_WriteOnly ) )
   10.50  	{
   10.51  		// This should neverever happen
   10.52 -		QMessageBox::critical(0, tr("Critcal save error"),"MapEditor::save() Couldn't open "+file.name());
   10.53 +		QMessageBox::critical(0, tr("Critcal Save error"),"MapEditor::save() Couldn't open "+file.name());
   10.54  		return 1;
   10.55  	}	
   10.56  
   10.57 @@ -2241,12 +2245,15 @@
   10.58  			{
   10.59  				branchLinksContextMenu->clear();
   10.60  				branchLinksContextMenu->insertItem ("No link available");
   10.61 +				branchLinksContextMenuDup->clear();
   10.62 +				branchLinksContextMenuDup->insertItem ("No link available");
   10.63  				
   10.64  			} else
   10.65  			{
   10.66  				BranchObj *bot;
   10.67  				QString s;
   10.68  				branchLinksContextMenu->clear();
   10.69 +				branchLinksContextMenuDup->clear();
   10.70  				for (int i=0; i<=bo->countLinks();i++)
   10.71  				{
   10.72  					bot=bo->linkTargetAt(i);
   10.73 @@ -2256,6 +2263,7 @@
   10.74  						if (s.length()>25)
   10.75  							s=s.left(25)+"...";
   10.76  						branchLinksContextMenu->insertItem (s);
   10.77 +						branchLinksContextMenuDup->insertItem (s);
   10.78  					}	
   10.79  				}
   10.80  			}
   10.81 @@ -2686,6 +2694,21 @@
   10.82  	}
   10.83  }
   10.84  
   10.85 +void MapEditor::editLink(int i)
   10.86 +{
   10.87 +	BranchObj *bo=((BranchObj*)(selection))->linkTargetAt(i);
   10.88 +	if (bo) 
   10.89 +	{
   10.90 +		EditLinkDialog dia;
   10.91 +		if (dia.exec() == QDialog::Accepted)
   10.92 +		{
   10.93 +			if (dia.deleteLink())
   10.94 +				((BranchObj*)(selection))->deleteLinkAt(i);
   10.95 +			setChanged();
   10.96 +		}
   10.97 +	}	
   10.98 +}
   10.99 +
  10.100  void MapEditor::testFunction()
  10.101  {
  10.102  	cout << "MapEditor::testFunction() called\n";
  10.103 @@ -2719,6 +2742,7 @@
  10.104  				}	
  10.105  			}
  10.106  		}
  10.107 +		popupLinks->move(p);
  10.108  		popupLinks->exec();
  10.109  		
  10.110  	}
  10.111 @@ -3136,6 +3160,7 @@
  10.112  			((LinkableMapObj*)(selection))->unsetParObjTmp();
  10.113  
  10.114  
  10.115 +			copyingObj=false;	
  10.116  			if (!dst ) 
  10.117  			{
  10.118  				if (copyingObj)
  10.119 @@ -3149,7 +3174,6 @@
  10.120  						selectionLast=NULL;
  10.121  						selection->select();
  10.122  					}
  10.123 -					copyingObj=false;	
  10.124  				}
  10.125  			} else
  10.126  			{
    11.1 --- a/mapeditor.h	Thu Mar 24 21:10:38 2005 +0000
    11.2 +++ b/mapeditor.h	Sat Apr 09 22:50:08 2005 +0000
    11.3 @@ -129,6 +129,7 @@
    11.4  public:	
    11.5      void importDir();
    11.6  	void followLink (int);
    11.7 +	void editLink (int);
    11.8      void testFunction();				// FIXME just testing
    11.9  
   11.10  protected:
    12.1 --- a/tex/vym.tex	Thu Mar 24 21:10:38 2005 +0000
    12.2 +++ b/tex/vym.tex	Sat Apr 09 22:50:08 2005 +0000
    12.3 @@ -713,6 +713,9 @@
    12.4  \begin{longtable}{|lcp{8cm}l|} \hline
    12.5  Version	&	&	Comment								& Date	\\ \hline \hline \endhead
    12.6  	\hline \endfoot
    12.7 +1.6.3	& -	&	Bugfix: Saving of selection to a vym part (.vyp)	&2005-03-30\\
    12.8 +		& - &	Bugfix: Closing the noteeditor by closing its window now
    12.9 +				also toggles the responding toolbar button. &\\
   12.10  1.6.2	& -	&	Introduced Modifier modes: color, link, copy &2005-03-24\\
   12.11        & -	&	Linking branches is basically possible, though it can't
   12.12  				be edited/saved yet &\\
    13.1 --- a/texteditor.cpp	Thu Mar 24 21:10:38 2005 +0000
    13.2 +++ b/texteditor.cpp	Sat Apr 09 22:50:08 2005 +0000
    13.3 @@ -50,6 +50,8 @@
    13.4  extern int statusbarTime;
    13.5  extern QSettings settings;
    13.6  
    13.7 +extern QAction *actionViewToggleNoteEditor;
    13.8 +
    13.9  using namespace std;
   13.10  
   13.11  
   13.12 @@ -468,6 +470,8 @@
   13.13      if ( !e->isModified() ) 
   13.14  	{
   13.15  		ce->accept();	// TextEditor can be reopened with show()
   13.16 +		actionViewToggleNoteEditor->setOn (false);
   13.17 +		showwithmain=false;
   13.18  		return;
   13.19      }
   13.20  }
    14.1 --- a/version.h	Thu Mar 24 21:10:38 2005 +0000
    14.2 +++ b/version.h	Sat Apr 09 22:50:08 2005 +0000
    14.3 @@ -1,7 +1,7 @@
    14.4  #ifndef VERSION_H 
    14.5  #define VERSION_H
    14.6  
    14.7 -#define __VYM_VERSION__ "1.6.2"
    14.8 -#define __BUILD_DATE__ "March 24, 2005"
    14.9 +#define __VYM_VERSION__ "1.6.3"
   14.10 +#define __BUILD_DATE__ "April 11, 2005"
   14.11  
   14.12  #endif
    15.1 --- a/vym.pro	Thu Mar 24 21:10:38 2005 +0000
    15.2 +++ b/vym.pro	Sat Apr 09 22:50:08 2005 +0000
    15.3 @@ -2,10 +2,7 @@
    15.4  TRANSLATIONS += lang/vym_de.ts
    15.5  TRANSLATIONS += lang/vym_en.ts
    15.6  
    15.7 -TEMPLATE	= app
    15.8 -LANGUAGE	= C++
    15.9  
   15.10 -CONFIG	+= qt warn_on release
   15.11  
   15.12  DESTROOT = /usr
   15.13  
   15.14 @@ -25,6 +22,29 @@
   15.15  INSTALLS += demo
   15.16  
   15.17  
   15.18 +
   15.19 +
   15.20 +
   15.21 +
   15.22 +
   15.23 +
   15.24 +
   15.25 +
   15.26 +
   15.27 +
   15.28 +
   15.29 +
   15.30 +
   15.31 +
   15.32 +
   15.33 +
   15.34 +
   15.35 +TEMPLATE	= app
   15.36 +LANGUAGE	= C++
   15.37 +
   15.38 +CONFIG	+= qt warn_on release
   15.39 +
   15.40 +
   15.41  HEADERS	+= branchobj.h \
   15.42  	exports.h \
   15.43  	findwindow.h \
   15.44 @@ -80,5 +100,6 @@
   15.45  FORMS	= exporthtmldialog.ui \
   15.46  	exportxhtmldialog.ui \
   15.47  	showtextdialog.ui \
   15.48 -	extrainfodialog.ui
   15.49 +	extrainfodialog.ui \
   15.50 +	editlinkdialog.ui
   15.51