fix(app-iced): 预设色板改成两行排版,注释与用例去掉色值字面量(M250)

- 预设色板原来挤在一行,出图实测被折成「7 + 1」(最后一颗掉到下一行)——改成
  「标签 + 出厂」一行、8 颗色块一行;这是有意排版,不是被挤出来的
- src/** 的色值字面量门禁把注释与测试一起扫(那条门禁是对的):文档里的 `#RRGGBB`
  实例改成不带 `#` 的描述,超长串用例改用 `TEAL.to_hex()` 拼出来
This commit is contained in:
AskaEth committed 2026-11-11 15:10:03 +08:00
1 parent e6b2200360
commit e345b55c09
3 files changed
+36 -24

No files matched your search

@@ -15,7 +15,7 @@
//!
//! ## 色块为什么画成圆点而不是药丸
//!
//! 9 颗写着 `#0078D4` 的药丸会变成一排噪声,而且色相要靠读字获取——色板控件的可见内容**就是**
//! 9 颗写着十六进制串的药丸会变成一排噪声,而且色相要靠读字获取——色板控件的可见内容**就是**
//! 颜色本身。所以色块 = `ShapeScale::Full` 的实心圆 + 描边;选中态加粗描边(不靠色相区分:
//! 色块底下垫的是它自己的颜色,色相对比不可靠)。
@@ -80,30 +80,40 @@ pub(super) fn push<'a>(
));
}
/// 「预设」一行:`出厂` + 8 颗色块。
/// 「预设」两行:先「标签 + 出厂」,再一排 8 颗色块。
///
/// 为什么分两行:一行放 9 个控件在设置卡片的正文宽度里会被挤成「7 + 1」折行,最后一颗色块
/// 孤零零掉到下一行(出图实测)。分两行是**有意**的排版,不是被挤出来的。
fn presets<'a>(ui: &'a Ui, accent: &'a Accent, lang: Lang) -> Element<'a, Message> {
let current = accent.persist_value();
let mut items: Vec<Element<'a, Message>> = vec![
let head = row![
container(label(ui, t(Key::SettingsAppearanceAccentPresets, lang)))
.align_y(iced::Alignment::Center)
.into(),
.align_y(iced::Alignment::Center),
choice(
ui,
t(Key::SettingsAppearanceAccentFactory, lang),
current.is_empty(),
Change::Accent(String::new()),
),
];
for hex in ACCENT_PRESETS {
items.push(swatch(ui, hex, current == hex));
}
]
.spacing(ui.space(Space::X2))
.align_y(iced::Alignment::Center);
row(items)
.spacing(ui.space(Space::X2))
.padding(Padding::from([ui.space(Space::X2), 0.0]))
.align_y(iced::Alignment::Center)
.wrap()
.into()
let swatches: Vec<Element<'a, Message>> = ACCENT_PRESETS
.iter()
.map(|hex| swatch(ui, hex, current == *hex))
.collect();
column![
head,
row(swatches)
.spacing(ui.space(Space::X2))
.align_y(iced::Alignment::Center),
]
.spacing(ui.space(Space::X2))
.width(Length::Fill)
.padding(Padding::from([ui.space(Space::X2), 0.0]))
.into()
}
/// 一颗色块:实心圆 + 描边(选中态加粗)。点击写入该预设。