forked from 1b-agent/opencadstudio-upstream
feat(select): drag selected objects to move them, Ctrl+drag to copy
Pressing on a selected object (away from its grips) and dragging runs MOVE on the selection from the grabbed point, and the release is the destination, so the drag gets the command's preview, snaps and ortho. With Ctrl the drag runs COPY and places one copy. A press that does not move stays an ordinary click, and drags that start off the selection still make a window or lasso. Refs #750 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2ddf2a31da
commit
5a6f69f3f8
2 files changed
+96
No files matched your search
@@ -1223,6 +1223,10 @@ pub(super) struct OpenCADStudio {
|
||||
/// A direction typed as `<angle` at a point prompt: the next point stays
|
||||
/// on it until a point is placed.
|
||||
angle_override: Option<glam::DVec3>,
|
||||
/// A left press on a selected object: the point it grabbed, and whether
|
||||
/// the drag has turned into a MOVE (or, with Ctrl, a COPY) of the
|
||||
/// selection.
|
||||
drag_move: Option<(glam::DVec3, bool)>,
|
||||
/// Inline rename state: (original_name, current_edit_value).
|
||||
layout_rename_state: Option<(String, String)>,
|
||||
/// Timestamp of the previous viewport left-click release (for double-click detection).
|
||||
@@ -4784,6 +4788,7 @@ impl OpenCADStudio {
|
||||
snap_override_popup: None,
|
||||
axis_lock_dir: None,
|
||||
angle_override: None,
|
||||
drag_move: None,
|
||||
layout_rename_state: None,
|
||||
last_vp_click_time: None,
|
||||
last_vp_click_pos: None,
|
||||
|
||||
Reference in new issue
Block a user