ElyShow: a typed 0 in the slide range no longer exports every slide (S-06)
This commit is contained in:
3 files changed
+21
-2
No files matched your search
@@ -13,6 +13,11 @@ use super::{Kind, Output, Range};
|
||||
use crate::deck::Deck;
|
||||
use crate::dialog::Dialog;
|
||||
|
||||
/// A typed slide number on the deck; 0 means all.
|
||||
fn slide_number(value: f64, last: u32) -> u32 {
|
||||
value.round().clamp(1.0, f64::from(last.max(1))) as u32
|
||||
}
|
||||
|
||||
/// What goes out, which slides, how many a page.
|
||||
pub fn output_dialog(
|
||||
this: gpui::Entity<Deck>,
|
||||
@@ -79,7 +84,7 @@ pub fn output_dialog(
|
||||
let bound = |id: &'static str, value: u32, first: bool| {
|
||||
// A typed number counts before blur commits it.
|
||||
let set = move |this: &gpui::Entity<Deck>, value: f64, cx: &mut gpui::App| {
|
||||
let value = value.round() as u32;
|
||||
let value = slide_number(value, last);
|
||||
change(this, cx, &|output| {
|
||||
if let Range::Slides(from, to) = &mut output.range {
|
||||
*(if first { from } else { to }) = value;
|
||||
@@ -135,3 +140,16 @@ pub fn output_dialog(
|
||||
.on_click(move |_, _, cx| this.update(cx, |deck, cx| deck.output(cx)))
|
||||
})
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::slide_number;
|
||||
|
||||
#[test]
|
||||
fn a_typed_number_stays_on_the_deck() {
|
||||
assert_eq!(slide_number(0.0, 5), 1, "0 would export every slide");
|
||||
assert_eq!(slide_number(-3.0, 5), 1);
|
||||
assert_eq!(slide_number(2.6, 5), 3);
|
||||
assert_eq!(slide_number(9.0, 5), 5);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -28,7 +28,7 @@
|
||||
- [x] S-03 ElyShow 的缩放一两帧后弹回“适合幻灯片”,缩放功能不可用 — 只在标签首次观察时适合一次;R1 PASS
|
||||
- [x] S-04 选屏对话框被别的对话框顶掉后,`show_starting` 卡住、放映副本泄漏 — 有对话框开着时不再顶掉它,提示先完成;选屏对话框被拒即丢副本;R2 PASS
|
||||
- [x] S-05 一条批注的时间恰为午夜或只有日期,整个批注栏不显示 — 读不出时间的批注只占一行汇总,其余照常显示(jiff 本可读只有日期的时间);R2 PASS
|
||||
- [ ] S-06 导出或打印的“从–到”填 0 时导出全部幻灯片
|
||||
- [x] S-06 导出或打印的“从–到”填 0 时导出全部幻灯片 — 键入的页码夹到 1..=末页;R1 PASS
|
||||
- [ ] S-07 母版视图下演示检查的行按幻灯片序号跳转
|
||||
- [ ] S-08 刚编辑过幻灯片就进备注栏键入,备注可能丢
|
||||
- [ ] S-09 改尺寸失败后 `size_asked` 一直留着
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
PASS
|
||||
Reference in new issue
Block a user