forked from 1b-agent/opencadstudio-upstream
Graphic Attributes: quieter swatches, Enter in linetype scale, undo names
- Colour swatches carry no *VARIES* or ByBlock text; the L / B / C / V button already shows that. - A separator sits between "Create Layer with active settings" and the "Create fills on the current layer" checkbox. - The linetype scale field is a plain text field like the Properties panel: the first click selects its value, Enter applies it (decimal comma and expressions accepted) instead of repeating the last command. This drops the iced_aw number_input feature again. - Undo/redo name fill changes "Fill change" and linetype changes "Linetype", in all 21 locales. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VgkJN8DEojuPTumAXLHotu
This commit is contained in:
27 files changed
+168
-108
No files matched your search
+16
-1
@@ -6887,13 +6887,28 @@ impl OpenCADStudio {
|
||||
Message::PropAttrCommit(tag) => self.on_prop_attr_commit(tag),
|
||||
|
||||
Message::PropPointerPressed => {
|
||||
if !self.dock_panel_visible(crate::ui::dock::PanelId::Properties) {
|
||||
if !self.dock_panel_visible(crate::ui::dock::PanelId::Properties)
|
||||
&& !self.dock_panel_visible(crate::ui::dock::PanelId::GraphicAttributes)
|
||||
{
|
||||
return Task::none();
|
||||
}
|
||||
crate::ui::properties::sync_active_field_task()
|
||||
}
|
||||
|
||||
Message::PropSyncActive(focused) => {
|
||||
// The Graphic Attributes linetype scale field behaves like a
|
||||
// Properties field: the first click selects its value.
|
||||
let scale_field = iced::widget::Id::new(
|
||||
crate::ui::window::graphic_attributes::LINETYPE_SCALE_FIELD,
|
||||
);
|
||||
if focused.as_ref() == Some(&scale_field) {
|
||||
if !std::mem::replace(&mut self.graphic_attributes.linetype_scale_focused, true) {
|
||||
return iced::widget::operation::select_all(scale_field);
|
||||
}
|
||||
return Task::none();
|
||||
}
|
||||
self.graphic_attributes.linetype_scale_focused = false;
|
||||
self.graphic_attributes.linetype_scale_input = None;
|
||||
let panel = &mut self.tabs[self.active_tab].properties;
|
||||
if let Some(id) = focused.as_ref() {
|
||||
if let Some(key) = panel.prop_field_key_for_id(id) {
|
||||
|
||||
Reference in new issue
Block a user