Fix #40: W/H constrain-proportions link in the Properties panel and Control bar

The Transform panel had the link, but kept it in panel-local egui memory;
the Properties panel's Transform section and the Control bar had none, so
size changes there were never proportional.

The link is now the constrainProportions preference (prefs.get/prefs.set),
one toggle shared by the three places (transform::constrain_link), and every
W/H field passes it to object.setBounds as `proportional`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bflatastic
2026-10-06 00:08:34 +07:00
co-authored by Claude Opus 5.5
parent 6780ffae60
commit 6992c843b4
8 changed files with 117 additions and 8 deletions
+2
View File
@@ -320,6 +320,8 @@ pub const PREF_SPECS: &[PrefSpec] = &[
p!("appendConverted", "File Handling", "Files", "Mark Older Files as [Converted] When Opened", bool),
// Native saves (`document.save {compress}`)
p!("useCompression", "File Handling", "Files", "Use Compression", bool),
// The W/H link of the Transform panel, the Properties panel and the Control bar
p!("constrainProportions", "General", "Transform Panel", "Constrain Width and Height Proportions", bool),
];
pub fn spec(key: &str) -> Option<&'static PrefSpec> {