forked from 1b-agent/opencadstudio-upstream
fix: open-issue sweep — drawing, plot, snap, layout and UI fixes
Fixes: - Font prompt no longer lists bundled ltypeshp/qcadshp shape files (#1626) - Wide polylines step at a discontinuous segment width; PEDIT marks the current vertex; keyword steps refresh the command preview (#1628) - Radius-0 fillet drops the zero-length segment it left, so the corner fillets again (#1422) - FILLET Trim / No trim option (#1558) - True-colour wires plot in their own colour; colour picker stores the value it shows (#1621) - Model tab keeps its page setup; "Save changes to layout" in Model (#1620) - QNEW default template in Options > Files; .dwt in the open dialog (#1134, #1113) - GRIDUNIT / GRIDMODE / PERSPECTIVE variables (#1618, #1524) - PTYPE (#1433) - ZOOM nX / nXP (#1465) - CHSPACE between model and paper space through a viewport (#1428) - Moving a dimension keeps its automatic text placement - Shell icon; "&&" button labels (#1554) - LINETYPE Load from a .lin file (#1588) - XLINE / RAY hide the crosshair arms (#1437) - Dynamic-input boxes keep clear of the crosshair and each other (#1546) - Snap marker colour setting, dark default on light canvases (#1497, #1229, #1128) - Dimension style precision as a 0.00 pattern dropdown (#1426) - Node graph nodes left of the origin no longer clip away (#1592) - Collapse button in the command history header (#1094) - Freeze-in-current-viewport toggle in the ribbon layer list (#1466) - Geometric Center object snap for closed polylines (#1369) New strings translated in all 21 locales. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
abf302eba5
commit
178c7dff41
70 files changed
+1227
-145
No files matched your search
+9
-1
@@ -30,6 +30,8 @@ pub enum SnapType {
|
||||
Endpoint,
|
||||
Midpoint,
|
||||
Center,
|
||||
/// Area centroid of a closed polyline (#1369).
|
||||
GeometricCenter,
|
||||
Node,
|
||||
Quadrant,
|
||||
Intersection,
|
||||
@@ -83,6 +85,7 @@ pub const ALL_SNAP_MODES: &[(SnapType, &str, &str)] = &[
|
||||
(SnapType::Endpoint, "◻", "Endpoint"),
|
||||
(SnapType::Midpoint, "△", "Midpoint"),
|
||||
(SnapType::Center, "◯", "Center"),
|
||||
(SnapType::GeometricCenter, "⊙", "Geometric Center"),
|
||||
(SnapType::Node, "◆", "Node"),
|
||||
(SnapType::Quadrant, "◇", "Quadrant"),
|
||||
(SnapType::Intersection, "✕", "Intersection"),
|
||||
@@ -1440,6 +1443,10 @@ impl Snapper {
|
||||
// else stays on the 2D master + mode set.
|
||||
let (snap_type, on) = match hint {
|
||||
SnapHint::Center => (SnapType::Center, self.is_on(SnapType::Center)),
|
||||
SnapHint::GeometricCenter => (
|
||||
SnapType::GeometricCenter,
|
||||
self.is_on(SnapType::GeometricCenter),
|
||||
),
|
||||
SnapHint::Node => (SnapType::Node, self.is_on(SnapType::Node)),
|
||||
SnapHint::Quadrant => (SnapType::Quadrant, self.is_on(SnapType::Quadrant)),
|
||||
SnapHint::Insertion => (SnapType::Insertion, self.is_on(SnapType::Insertion)),
|
||||
@@ -2602,6 +2609,7 @@ pub(crate) fn snap_tier(t: SnapType) -> u8 {
|
||||
| SnapType::ApparentIntersection
|
||||
| SnapType::Midpoint
|
||||
| SnapType::Center
|
||||
| SnapType::GeometricCenter
|
||||
| SnapType::Node
|
||||
| SnapType::Quadrant
|
||||
| SnapType::Insertion
|
||||
@@ -2663,7 +2671,7 @@ pub(crate) fn snap_priority(t: SnapType) -> u8 {
|
||||
SnapType::Intersection => 1,
|
||||
SnapType::ApparentIntersection => 2,
|
||||
SnapType::Midpoint => 3,
|
||||
SnapType::Center => 4,
|
||||
SnapType::Center | SnapType::GeometricCenter => 4,
|
||||
SnapType::Node => 5,
|
||||
SnapType::Quadrant => 6,
|
||||
SnapType::Insertion => 7,
|
||||
|
||||
Reference in new issue
Block a user