docs(app-iced): 按 TailShare::of 的真实分支清扫下载页面板注释(r7 三条 + 全量扫)
(i) 上轮新引入的错误声明 rescope:错误行「恒为 None / 滚动区只有 head+chips」只在**三栏档 +
带版本列表**这一支成立(has_loader_versions() 要求 problem.is_none())。**chips 档**(可用宽
< 600,TailShare::of 对 Options/Install 无条件 Shared)里 problem 可以是 Some(静态不兼容 /
列表取不到 / 空表三种),错误行会进滚动区且可能被滚走;show_versions() 为假时钉死区只剩
实例名。install.rs 与 options/view.rs 都按这两支分别写清,并注明该行为域由 M227 重设计。
(ii) install.rs 的「显式给对半分档标志」「对半分:面板吃满自己那一半」改成预算优先口径
(与同文件十行上方「不是早期的对半分」不再矛盾)。
(iii) rows.rs 三处:三栏档「照旧钉死」限定为「**不带版本列表**的选项区」;`content` 的 share
说明改成引用 TailShare::of 的真实两支,不再复述「三栏钉死 / chips 各吃一半」;
「只有对半分那一档才按整行取高」改成「只有 Shared(面板先保预算)那一档」。
全量扫附带修正:tail.rs 的 ROW_PITCH / PANEL_BUDGET 账(760 例改成 176/437、900 改成 569;
预算拆成滚动区 76 + 钉死区 153);options/model.rs 的 has_loader_versions 文档改成预算口径。
零代码零测试变更。
This commit is contained in:
1 parent
409c742aa8
commit
a16aadd467
5 files changed
+38
-23
No files matched your search
@@ -29,7 +29,8 @@
|
||||
//! 都在面板钉死区,见 `options/view.rs::section`)。
|
||||
//! 同样的 760 高窗口里:三栏档列表还剩 158px(3 整行),chips 档只剩 18px。
|
||||
//!
|
||||
//! 修法是 [`TailShare`] 两档:三栏档照旧钉死(面板整块在屏内),chips 档**且面板真的占高度**
|
||||
//! 修法是 [`TailShare`] 两档:**不带加载器版本列表**的选项区在三栏档照旧钉死(面板整块在屏内),
|
||||
//! chips 档**且面板真的占高度**
|
||||
//! (选项区展开 / 安装中)时改成「**面板先保预算、剩下按整行给列表**」
|
||||
//! (`tail::whole_rows` + `PANEL_BUDGET = 300`):1180×760 下列表 **176px = 4 整行**,
|
||||
//! 面板拿走其余(≈307px)。实例名那格**已经钉死**在面板底部、不需要滚(M222 `6f87c8b`)。
|
||||
@@ -85,8 +86,9 @@ pub(crate) use tail::{whole_rows, TailShare};
|
||||
|
||||
/// 列表列(三栏档与 chips 档共用一份)。
|
||||
///
|
||||
/// `share` 决定「列表」与「尾部面板」怎么分这块高度:三栏档钉死面板、chips 档各吃一半
|
||||
/// (见 [`TailShare`] 与模块文档「尾巴不能把列表压成缝」)。
|
||||
/// `share` 决定「列表」与「尾部面板」怎么分这块高度(真实分支见 `tail::TailShare::of`):
|
||||
/// `Pinned` = 面板按内容高钉在底部、列表吃剩下的;`Shared` = 面板先吃 `tail::PANEL_BUDGET`、
|
||||
/// 列表按**整行**吃剩下的(`tail::whole_rows`)。哪些组合走哪一支由那一处决定,这里不重复判。
|
||||
pub(super) fn content<'a>(
|
||||
ui: &'a Ui,
|
||||
catalog: Catalog,
|
||||
@@ -103,8 +105,8 @@ pub(super) fn content<'a>(
|
||||
} else if visible.is_empty() {
|
||||
states::empty(ui, catalog)
|
||||
} else {
|
||||
// 只有「列表与面板对半分」那一档才按整行取高:钉死档(面板矮)实测已经是整行
|
||||
// (04 图 278px),取整反而会把它从 6 行缩到 5 行。
|
||||
// 只有 `Shared`(面板先保预算)那一档才按整行取高:`Pinned` 档(面板矮)实测已经
|
||||
// 是整行(`04` 图),取整反而会把它从 6 行缩到 5 行。
|
||||
let height = if matches!(share, TailShare::Shared) {
|
||||
list_height
|
||||
} else {
|
||||
@@ -271,7 +273,7 @@ fn list<'a>(
|
||||
.scroller_width(frame::SCROLLBAR_WIDTH)
|
||||
.margin(frame::SCROLLBAR_MARGIN),
|
||||
))
|
||||
// `Some` = 三栏档按**整行**取高(见 `tail::whole_rows`);`None` = chips 档照旧 Fill。
|
||||
// `Some` = 三栏档的 `Shared` 分支按**整行**取高(见 `tail::whole_rows`);`None` = 其它(含 chips 档)用 Fill。
|
||||
.height(height.map_or(Length::Fill, Length::Fixed))
|
||||
.style(frame::scroll_style(ui))
|
||||
.into()
|
||||
|
||||
Reference in new issue
Block a user