1.1 --- a/mapeditor.cpp Tue Aug 18 12:39:07 2009 +0000
1.2 +++ b/mapeditor.cpp Thu Sep 03 08:52:00 2009 +0000
1.3 @@ -10,6 +10,7 @@
1.4 #include "mainwindow.h"
1.5 #include "misc.h"
1.6 #include "warningdialog.h"
1.7 +#include "xlinkitem.h"
1.8
1.9
1.10 extern int statusbarTime;
1.11 @@ -881,6 +882,7 @@
1.12 LinkableMapObj* lmo=NULL;
1.13 if (ti) lmo=((MapItem*)ti)->getLMO();
1.14
1.15 +
1.16 e->accept();
1.17
1.18 //Take care of system flags _or_ modifier modes
1.19 @@ -923,22 +925,15 @@
1.20 }
1.21 if (mainWindow->getModMode()==Main::ModModeXLink)
1.22 {
1.23 - BranchObj *bo_begin=NULL;
1.24 - if (lmo)
1.25 - bo_begin=(BranchObj*)(lmo);
1.26 - else
1.27 - bo_begin=model->getSelectedBranchObj();
1.28 - if (bo_begin)
1.29 + BranchItem *bi_begin=model->getSelectedBranch();
1.30 + if (bi_begin)
1.31 {
1.32 drawingLink=true;
1.33 - linkingObj_src=bo_begin;
1.34 - tmpXLink=new XLinkObj (mapScene);
1.35 - tmpXLink->setBegin (bo_begin);
1.36 - tmpXLink->setEnd (p);
1.37 + tmpXLink=model->createXLink(bi_begin,true);
1.38 tmpXLink->setColor(model->getMapDefXLinkColor());
1.39 tmpXLink->setWidth(model->getMapDefXLinkWidth());
1.40 + tmpXLink->setEnd (p);
1.41 tmpXLink->updateXLink();
1.42 - tmpXLink->setVisibility (true);
1.43 return;
1.44 }
1.45 }
1.46 @@ -1192,13 +1187,13 @@
1.47 // Check if we are over another branch
1.48 if (dsti)
1.49 {
1.50 - tmpXLink->setEnd ( ((BranchObj*)(dst)) );
1.51 + tmpXLink->setEnd ( ((BranchItem*)dsti) );
1.52 tmpXLink->updateXLink();
1.53 - tmpXLink->activate(); //FIXME-2 savestate missing
1.54 - //model->saveStateComplete(QString("Activate xLink from %1 to %2").arg(model->getObjectName(tmpXLink->getBegin())).arg(model->getObjectName(tmpXLink->getEnd())) );
1.55 + tmpXLink->activate();
1.56 + //FIXME-0 model->saveStateComplete(QString("Activate xLink from %1 to %2").arg(model->getObjectName(tmpXLink->getBegin())).arg(model->getObjectName(tmpXLink->getEnd())) );
1.57 } else
1.58 {
1.59 - delete(tmpXLink);
1.60 + model->deleteItem(tmpXLink);
1.61 tmpXLink=NULL;
1.62 }
1.63 return;