forked from 1b-agent/opencadstudio-upstream
fix: feet-inch dynamic input, STRETCH preselection, ribbon title wrap
- Dynamic-input fields take ' and " and read 2'9" / 3' as lengths (#937) - STRETCH on a selection made by a crossing window stretches through that window and goes straight to the base point (#1068) - STRETCH's crossing-window steps show no coordinate boxes (#657) - Collapsed ribbon panel titles wrap at words, never mid-word (#920) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
178c7dff41
commit
1cbcc8f4c5
9 files changed
+67
-5
No files matched your search
@@ -269,7 +269,7 @@ pub(super) fn on_tab_close(&mut self, idx: usize) -> Task<Message> {
|
||||
let dyn_field_char = !s.is_empty()
|
||||
&& s.chars().all(|c| {
|
||||
c.is_ascii_digit()
|
||||
|| matches!(c, '.' | '-' | '+' | '*' | '/' | '^' | '%' | '(' | ')')
|
||||
|| matches!(c, '.' | '-' | '+' | '*' | '/' | '^' | '%' | '(' | ')' | '\'' | '"')
|
||||
});
|
||||
if dyn_field_char
|
||||
&& self.command_line.input.is_empty()
|
||||
|
||||
@@ -191,7 +191,9 @@ impl OpenCADStudio {
|
||||
let picks_object = self.tabs[i]
|
||||
.active_cmd
|
||||
.as_ref()
|
||||
.map(|c| c.needs_entity_pick() || c.needs_structure_point_pick())
|
||||
.map(|c| {
|
||||
c.needs_entity_pick() || c.needs_structure_point_pick() || c.selects_by_window()
|
||||
})
|
||||
.unwrap_or(false);
|
||||
let has_base = self.last_point.is_some();
|
||||
// While aligned to an OTRACK ray, the point step reads a single
|
||||
|
||||
@@ -4728,6 +4728,9 @@ impl OpenCADStudio {
|
||||
};
|
||||
|
||||
if let Some((fence, window)) = drag_geometry {
|
||||
if self.tabs[i].active_cmd.is_none() {
|
||||
self.tabs[i].last_crossing_window = window.filter(|_| box_crossing);
|
||||
}
|
||||
let result = self.tabs[i].active_cmd.as_mut().and_then(|command| {
|
||||
command.set_shift(self.shift_down);
|
||||
command.on_drag_selection(&fence, window)
|
||||
|
||||
Reference in new issue
Block a user