Merge pull request #4161 from nrq6993-a11y/stream/vc-feat-g1-reshape-readout-prefs

G1: Reshape readouts follow Measurement Labels pref
This commit is contained in:
BFlat
2026-10-26 09:11:56 +07:00
committed by GitHub
2 changed files with 10 additions and 3 deletions
+1 -1
View File
@@ -117,7 +117,7 @@ pub const PATHFINDER_MAX_OVERLAPS: usize = 16_384;
struct Counts(Vec<isize>);
// `isolate_lowest_one` is still unstable in Rust 1.96, and the workspace builds on 1.95 (rust-version).
#[allow(clippy::manual_isolate_lowest_one)]
#[allow(unknown_lints, clippy::manual_isolate_lowest_one)]
impl Counts {
fn add(&mut self, slot: usize, d: isize) {
let mut i = slot + 1;
+9 -2
View File
@@ -310,8 +310,14 @@ impl Tool for ReshapeTool {
}
vec![]
}
fn overlays(&self, _cx: &ToolContext) -> Vec<Overlay> {
if let Some((p, t)) = &self.measure { vec![Overlay::Measure { p: *p, text: t.clone() }] } else { vec![] }
fn overlays(&self, cx: &ToolContext) -> Vec<Overlay> {
if cx.measurement_labels
&& let Some((p, t)) = &self.measure
{
vec![Overlay::Measure { p: *p, text: t.clone() }]
} else {
vec![]
}
}
fn cursor(&self, cx: &ToolContext, p: Point, _mods: Mods) -> Cursor {
if self.grab.is_some() || Self::hit(cx, p).is_some() { Cursor::Move } else { Cursor::Arrow }
@@ -550,6 +556,7 @@ mod tests {
let want = on.offset_label(30.0, 0.0);
assert!(t.overlays(&on).iter().any(|o| matches!(o, Overlay::Measure { text, .. } if text == &want)));
let off = ToolContext { measurement_labels: false, ..cx(&d, &s, &p) };
assert!(!t.overlays(&off).iter().any(|o| matches!(o, Overlay::Measure { .. })), "overlay follows the current pref");
let mut quiet = ReshapeTool::default();
drag(&mut quiet, &off);
assert!(!quiet.overlays(&off).iter().any(|o| matches!(o, Overlay::Measure { .. })));