mirror of
https://github.com/storytold/deckcraft.git
synced 2026-10-24 10:37:03 -06:00
Fix up merged PRs: one Editing group on Home, fmt, docs after the format/canvas/dialog merges
- Home: #556's Find and Replace join main's Replace Fonts… in one Editing group with the Selection Pane, as PowerPoint lays it out; the separate group pushed Replace Fonts… out of reach at 1400 px. The Replace Fonts test picks the dialog's Replace button, not the ribbon's. - cargo fmt. - docs: parity summary regenerated with `cargo xtask parity`; ui-parity's ruler row says tab stops are set on the ruler (#567/#569) as well as in the Tabs dialog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3af36720fd
commit
320e3a971a
@@ -398,7 +398,6 @@ fn replace_word(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
s.execute("text.insert", &json!({"text": with}))
|
||||
}
|
||||
|
||||
|
||||
fn comparing(s: &Session) -> std::result::Result<(), String> {
|
||||
if s.active().is_some_and(|d| d.compare.is_some()) { Ok(()) } else { Err("not comparing".into()) }
|
||||
}
|
||||
|
||||
@@ -1154,7 +1154,6 @@ fn grid_fits(span: f32, step: f32) -> bool {
|
||||
span.is_finite() && span > 0.0 && step >= 1.0 && span / step <= 800.0
|
||||
}
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
#![allow(clippy::unwrap_used, clippy::expect_used)]
|
||||
|
||||
@@ -1401,12 +1401,12 @@ mod animpane_tests;
|
||||
#[cfg(test)]
|
||||
mod browsetheme_tests;
|
||||
#[cfg(test)]
|
||||
mod compare_tests;
|
||||
#[cfg(test)]
|
||||
mod eyedropper_tests;
|
||||
#[cfg(test)]
|
||||
mod huge_deck_tests;
|
||||
#[cfg(test)]
|
||||
mod compare_tests;
|
||||
#[cfg(test)]
|
||||
mod ime_tests;
|
||||
#[cfg(test)]
|
||||
mod replacefonts_tests;
|
||||
|
||||
@@ -50,7 +50,8 @@ fn ribbon_button_opens_the_dialog_and_replaces() {
|
||||
d.fields.insert("to".into(), "Lato".into());
|
||||
}
|
||||
h.run_steps(2);
|
||||
h.get_by_label("Replace").click();
|
||||
// The ribbon has a Replace button too (Find and Replace); the dialog's is drawn last.
|
||||
h.query_all_by_label("Replace").last().expect("the dialog's Replace button").click();
|
||||
h.run_steps(3);
|
||||
assert_eq!(run_font(&h).as_deref(), Some("Lato"));
|
||||
// The dialog stays open with a confirmation, like PowerPoint's.
|
||||
|
||||
@@ -1160,18 +1160,17 @@ fn home(app: &mut SlideApp, ui: &mut Ui) {
|
||||
big(app, ui, Icon::Picture, "Picture", "app.insertPictureDialog", json!({}));
|
||||
});
|
||||
drawing_group(app, ui);
|
||||
// Editing, as in PowerPoint: Find, Replace and Replace Fonts, then the Selection Pane.
|
||||
group(ui, |ui| {
|
||||
ui.vertical(|ui| {
|
||||
small(app, ui, Icon::Search, "Find", "app.find", json!({}));
|
||||
small(app, ui, Icon::Spelling, "Replace", "app.replace", json!({}));
|
||||
if small_button(ui, Icon::Fonts, "Replace Fonts…", enabled(app, "font.replace"), false).clicked() {
|
||||
app.dialog = Some(crate::dialogs::Dialog::new("replaceFonts"));
|
||||
}
|
||||
});
|
||||
});
|
||||
group(ui, |ui| {
|
||||
// Also under Arrange, but that is disabled until something is selected (#132).
|
||||
big(app, ui, Icon::SelectionPane, "Selection\nPane", "view.pane", json!({"pane": "selection"}));
|
||||
if small_button(ui, Icon::Fonts, "Replace Fonts…", enabled(app, "font.replace"), false).clicked() {
|
||||
app.dialog = Some(crate::dialogs::Dialog::new("replaceFonts"));
|
||||
}
|
||||
});
|
||||
group(ui, |ui| {
|
||||
big(app, ui, Icon::DesignIdeas, "Design\nIdeas", "view.pane", json!({"pane": "designer"}));
|
||||
|
||||
@@ -3,55 +3,33 @@
|
||||
> **Generated:** 2026-10-10 (summary by `cargo xtask parity`; rows re-scored 2026-10-10 against PowerPoint for Mac 16.113.4) · **Target:** Microsoft PowerPoint for Mac 16.113 (Microsoft 365)
|
||||
|
||||
The summary between `<!-- SUMMARY -->
|
||||
**Weighted breadth parity: 80%** over 191 features.
|
||||
**Weighted breadth parity: 82%** over 193 features.
|
||||
|
||||
| Priority | Features | Done | Partial | Missing | Parity |
|
||||
|---|---|---|---|---|---|
|
||||
| P0 | 72 | 61 | 11 | 0 | 92% |
|
||||
| P1 | 65 | 39 | 20 | 6 | 75% |
|
||||
| P2 | 54 | 13 | 15 | 26 | 38% |
|
||||
| P1 | 65 | 38 | 21 | 6 | 75% |
|
||||
| P2 | 54 | 13 | 16 | 25 | 39% |
|
||||
| P1 | 65 | 38 | 21 | 6 | 75% |
|
||||
| P2 | 54 | 14 | 15 | 25 | 40% |
|
||||
| P1 | 65 | 39 | 21 | 5 | 76% |
|
||||
| P2 | 54 | 14 | 17 | 23 | 42% |
|
||||
| P2 | 54 | 14 | 14 | 26 | 39% |
|
||||
| P1 | 65 | 38 | 21 | 6 | 75% |
|
||||
| P2 | 54 | 13 | 16 | 25 | 39% |
|
||||
| P1 | 65 | 38 | 21 | 6 | 75% |
|
||||
| P2 | 54 | 13 | 16 | 25 | 39% |
|
||||
| P1 | 66 | 43 | 18 | 5 | 79% |
|
||||
| P2 | 55 | 16 | 20 | 19 | 47% |
|
||||
|
||||
| Area | Parity |
|
||||
|---|---|
|
||||
| Application shell | 81% |
|
||||
| Files | 71% |
|
||||
| Slides | 90% |
|
||||
| Views | 93% |
|
||||
| Views | 95% |
|
||||
| Masters & themes | 85% |
|
||||
| Views | 90% |
|
||||
| Views | 98% |
|
||||
| Masters & themes | 88% |
|
||||
| Shapes | 88% |
|
||||
| Shapes | 91% |
|
||||
| Format | 83% |
|
||||
| Arrange | 100% |
|
||||
| Text | 80% |
|
||||
| Text | 82% |
|
||||
| Tables | 95% |
|
||||
| Text | 81% |
|
||||
| Text | 81% |
|
||||
| Tables | 89% |
|
||||
| Charts | 65% |
|
||||
| SmartArt | 33% |
|
||||
| Pictures | 52% |
|
||||
| SmartArt | 50% |
|
||||
| Pictures | 48% |
|
||||
| Pictures | 52% |
|
||||
| Media | 67% |
|
||||
| Transitions | 100% |
|
||||
| Animations | 79% |
|
||||
| Slide show | 68% |
|
||||
| Review | 60% |
|
||||
| Slide show | 66% |
|
||||
| Review | 70% |
|
||||
| Draw | 33% |
|
||||
| Undo & clipboard | 100% |
|
||||
|
||||
+1
-1
@@ -139,7 +139,7 @@ menu colours taken from the theme tokens (menu `chrome`, page `card`).
|
||||
| Context menus on shapes, slides, text, thumbnails | yes | yes, shorter; a right click selects the shape under the pointer first |
|
||||
| WordArt transform | Transform gallery | Shape Format ▸ Text Effects ▸ Transform (`format.textWarp`): No Transform, Follow Path and the other 36 presets. No adjust handles |
|
||||
| Exact size/position, lock aspect | yes | yes |
|
||||
| Rulers with indent markers and tab stops | yes | rulers yes; tab stops are set in the Tabs dialog, not on the ruler |
|
||||
| Rulers with indent markers and tab stops | yes | yes: indent markers and tab stops drag on the ruler (a click adds a tab, the corner selector picks its kind); Tabs dialog from Home › Paragraph and the Paragraph dialog |
|
||||
| Context menus on shapes, slides, text, thumbnails | yes | yes, shorter |
|
||||
| Drag and drop of files and between thumbnails | yes | yes |
|
||||
| Slide Sorter sections: a bar per section, add, rename in place, collapse, drag the whole section (its slides move with it) | yes | yes |
|
||||
|
||||
Reference in New Issue
Block a user