X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdesigner%2Fmovetool.cpp;h=57f6216507e63c55a3d2157eaf519d6877b3f6ef;hb=5929b101ee38b5668b328e7b1eac4bf49c912412;hp=72bbc19ec3e8de206ccb64e3ce196e31709d7048;hpb=4c8c03d25ec4d58772ceb5b287deab645fdae19f;p=r2c2.git diff --git a/source/designer/movetool.cpp b/source/designer/movetool.cpp index 72bbc19..57f6216 100644 --- a/source/designer/movetool.cpp +++ b/source/designer/movetool.cpp @@ -36,13 +36,12 @@ void MoveTool::pointer_motion() i->object->set_rotation(i->original_rotation); } - float limit = max(designer.get_layout().get_catalogue().get_gauge(), - designer.get_camera_controller().get_view_scale()/100.0f); + float limit = designer.get_camera_controller().get_view_scale()/100.0f; MObject *snapped = 0; for(list::iterator i=boundaries.begin(); (!snapped && i!=boundaries.end()); ++i) { for(set::const_iterator j=snap_targets.begin(); (!snapped && j!=snap_targets.end()); ++j) - if((*i)->snap_to(**j, limit)) + if((*i)->snap_to(**j, (i->limit>0 ? max(i->limit, limit) : limit))) snapped = i->object; } @@ -65,5 +64,9 @@ void MoveTool::pointer_motion() MoveTool::Boundary::Boundary(MObject *o, unsigned i): object(o), - index(i) -{ } + index(i), + limit(-1) +{ + if(Track *track = dynamic_cast(object->object)) + limit = track->get_type().get_appearance().get_gauge(); +}