diff -r 4f305c07dd7c -r a1f609eae872 mapeditor.cpp --- a/mapeditor.cpp Thu Apr 02 09:57:36 2009 +0000 +++ b/mapeditor.cpp Mon Apr 06 08:40:11 2009 +0000 @@ -4631,8 +4631,25 @@ { if (mainWindow->getModMode()==Main::ModModeColor) { - pickingColor=true; - setCursor (PickColorCursor); + pickingColor=true; + setCursor (PickColorCursor); + return; + } + if (mainWindow->getModMode()==Main::ModModeCopy) + { + if (lmo && (typeid(*lmo)==typeid(BranchObj) || + typeid(*lmo)==typeid(MapCenterObj) )) + { + + selectInt (lmo); + copy(); + if (lmo->getDepth()>0) select (lmo->getParObj() ); + paste(); + cout << "sel 1="<getHeading().toStdString()<getLastBranch(); + cout << "sel 2="<getHeading().toStdString()<getModMode()==Main::ModModeXLink) @@ -4677,6 +4694,7 @@ // If modMode==copy, then we want to "move" the _new_ object around // then we need the offset from p to the _old_ selection, because of tmp + /* if (mainWindow->getModMode()==Main::ModModeCopy && e->state() & Qt::ControlModifier) { @@ -4690,6 +4708,7 @@ model->reposition(); } } + */ movingObj=xelection.single(); } else