Context menu: trailing check mark, faded icons on disabled rows

Checked rows (Properties, grip Stretch/Copy) drew a leading "✓ " that
pushed their label out of line with the other rows. The check mark now
sits in the trailing column where submenu headers draw their caret.

Disabled Undo/Redo rows had grey text but full-strength icons:
themed_disabled faded the icon through the SVG tint colour's alpha, which
iced ignores (the tint only replaces RGB). Fade via the widget's opacity
instead, which fixes every themed_disabled icon.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01KeV3kCDBWCrpYaJEs8CRQU
This commit is contained in:
Claude committed 2026-10-08 18:39:00 +00:00
1 parent 1bf584a1c1
commit 7aa456407b
2 files changed
+23 -11

No files matched your search

+5 -2
View File
@@ -509,13 +509,16 @@ pub fn themed_secondary<'a, M: 'a>(bytes: &'static [u8], size: f32) -> Element<'
.into()
}
/// Render disabled chrome with the active Iced theme's text color.
/// Render disabled chrome with the active Iced theme's text color, faded
/// like disabled text. The fade goes through the widget's opacity: an SVG
/// tint only replaces RGB, so alpha on the style colour would be ignored.
pub fn themed_disabled<'a, M: 'a>(bytes: &'static [u8], size: f32) -> Element<'a, M> {
svg(themed_handle(bytes))
.width(size)
.height(size)
.opacity(0.42_f32)
.style(|theme: &Theme, _| svg::Style {
color: Some(theme.palette().background.base.text.scale_alpha(0.42)),
color: Some(theme.palette().background.base.text),
})
.into()
}