Dylan M. Taylor
1e097e3edd
security: use exclusive temporary directories for macOS cert import and media fixtures ( #1263 )
2026-10-24 04:40:26 -04:00
dotCooCoo
9888d7c90e
Tables: dragging across cells selects a range of cells
...
While the caret is in a table cell, a drag into another cell of the
table now selects the cells between them. The range takes in every
merged cell it touches, and the canvas shades the selected cells.
Moving back into the first cell returns to a text selection there.
Shift+arrow moves the cell the range was extended to, and the cell it
started from stays.
With a range selected, run and paragraph formatting apply to those
cells only. Delete clears their text and keeps the cells and the table,
and Copy and Cut take their text, with a tab between cells and a line
per row. Shading, Borders, Cell Margins and Align take in the merged
cells the range touches. A press in the table starts again in the cell
under the pointer.
2026-10-24 01:29:58 -07:00
Dylan M. Taylor and Claude Sonnet 5.5
d94790d97a
refactor: replace redundant closures with method paths (SonarCloud S1612) ( #1261 )
...
Skipped where the receiver type is generic or not evident without a compiler (wrapping_neg, total_cmp, exists, to_vec, as_ref, split_first, Option::into_inner).
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 04:27:07 -04:00
dotCooCoo
05f2a84400
Text: text.insert reports the caret where AutoCorrect leaves it
...
text.insert returned the caret from before AutoCorrect ran. After a
typed space started a list, it reported (0, 2) for `* ` while the caret
was at (0, 0) in the emptied paragraph, and after `(c) ` it reported
(0, 4) for the two-character `© `. It now reports the caret from the
selection after AutoCorrect.
2026-10-24 00:44:36 -07:00
aiongg
9c31b567da
Integration: #978 media-controls test turns presenter view off so its embedded window does not cover the bar
2026-10-24 07:28:17 +00:00
NetterSilver and Claude Haiku 5.5
ee248bb5cb
Decode numeric tab entities in HTML paste
...
Found while testing crates/engine/src/cmd/richclip.rs:304 (numeric_char, used by decode_text)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 07:18:46 +00:00
aiongg
30755b3ff7
Integration: #1244 Notes-button test starts with the pane closed and clicks the gap the language name must not cover
2026-10-24 06:53:15 +00:00
aiongg
f639ef986e
Integration: #927 Header & Footer dialog: reading the format must not store the default as picked
2026-10-24 06:47:20 +00:00
aiongg
ded9094f59
Integration: crates/model/src/chart.rs keeps main's CRLF line endings
2026-10-24 06:29:33 +00:00
aiongg
7c1ae73ead
Integration: #565 collapse the nested if in rtf_to_outline (clippy)
2026-10-24 06:29:33 +00:00
aiongg
36cd258bd2
Merge PR #883 : PPTX: paragraph builds edited in the reference app keep their clicks
...
ROADMAP.md: union of log rows. docs/animation-parity.md: main's header; the by-paragraph row from the PR, the triggers row from main; both revision rows.
2026-10-24 06:27:19 +00:00
aiongg
8957e193e9
Merge integration track r1-t02 (dialogs, view, text editing, panes, status bar, other)
...
ROADMAP.md, docs/gaps.md: union of both tracks' log rows.
2026-10-24 06:26:36 +00:00
aiongg
80e5506456
Integration: cargo fmt
2026-10-24 06:25:28 +00:00
aiongg
3a37fb6b7e
Integration: #565 rtf_to_outline never splits a multi-byte character after \u or \' escapes
2026-10-24 06:18:22 +00:00
aiongg
abd8768b65
Merge PR #565 : Files: save and open outlines as RTF
...
Conflicts:
crates/engine/src/cmd/file.rs: export spec keeps main's transparentBackground and adds rtf; probe_clips (main) and outline_text (PR) both kept
docs/file-format-parity.md: PR's outline row (RTF now read) with main's .md wording, main's PNG row
2026-10-24 06:18:03 +00:00
aiongg
882f1cbdbc
Merge PR #1075 : Indent table rows in outline export so they stay on their slide
2026-10-24 06:17:37 +00:00
aiongg
bb5da2036d
Merge PR #978 : Hide the slide show media controls when the pointer is idle ( #967 )
...
Conflicts: crates/ui-egui/src/show.rs (test module: kept both sides' tests)
2026-10-24 06:17:37 +00:00
aiongg
5b5fd5eabe
Merge PR #1109 : Reuse Slides: choose which slides of the other file to insert
...
Conflicts: ROADMAP.md (union of both sides' rows)
2026-10-24 06:17:26 +00:00
aiongg
2693336155
Merge PR #809 : Design: Browse for Themes brings a template's slide master and layouts ( #807 )
...
Conflicts: ROADMAP.md (union of both sides' rows)
2026-10-24 06:17:23 +00:00
aiongg
f52c911959
Integration: #927 Header & Footer dialog sends dateFormat only when picked; set_date doc comment back above set_date
...
Without it, Apply rewrote every slide's existing date field to datetime1.
2026-10-24 06:17:19 +00:00
aiongg
0313e0128a
Merge PR #850 : Review: reject revisions after Compare, one or all
...
ROADMAP.md, docs/gaps.md: kept main's lines and the PR's single added line in each table.
2026-10-24 06:16:50 +00:00
aiongg
5880086522
Merge PR #927 : Header & Footer: the automatic date takes a format
2026-10-24 06:16:45 +00:00
aiongg
b7c505a389
Merge PR #1254 : Reject invalid index in slide.hide and slide.layout
...
Conflicts: crates/engine/src/tests.rs (appended both sides' tests)
2026-10-24 06:16:45 +00:00
aiongg
987f49ac03
Merge PR #1252 : Reject '+'-signed numeric character references in HTML paste
2026-10-24 06:16:43 +00:00
aiongg
92724e02bb
Merge PR #1205 : Design Ideas: no ideas for slides with diagrams, connectors or other graphics ( #1200 )
...
Conflicts: crates/engine/src/cmd/ideas.rs (test module: kept both sides' tests)
2026-10-24 06:16:39 +00:00
aiongg
0b6ea6a287
Integration: #1244 test that a long language name leaves the Notes button clickable
2026-10-24 06:16:38 +00:00
aiongg
29cc5f83bd
Integration: #833 drop the leftover PNG debug hook from the Edit Points menu test
2026-10-24 06:16:27 +00:00
aiongg
c480b74a3f
Merge PR #833 : Shapes: Edit Points — Straight/Curved Segment and Open/Close Path from the right-click menu
...
Conflicts: ROADMAP.md docs/gaps.md docs/ui-parity.md (union of both sides' rows)
2026-10-24 06:16:21 +00:00
aiongg
2fd32751cc
Merge PR #1251 : Fix arrange.distribute span to use the selection's full extent
2026-10-24 06:16:21 +00:00
aiongg
78afd2fc45
Merge PR #1245 : Title: arrange.group: nest groups at most 32 deep
2026-10-24 06:16:18 +00:00
aiongg
b280f7755d
Merge PR #846 : Canvas: the Format and Animation Painter override the cursor ( #830 )
...
Conflicts: crates/ui-egui/src/canvas.rs (cursor match: kept #806 's resize_cursor arm inside #846 's painter-armed wrapper)
2026-10-24 06:16:18 +00:00
aiongg
84702f3810
Merge PR #806 : Canvas: the resize cursor follows the handle's rotated diagonal ( #745 )
...
Conflicts: ROADMAP.md (union of both sides' rows)
2026-10-24 06:16:06 +00:00
aiongg
be5413826c
Merge PR #848 : Render: quick styles render on empty placeholder text boxes ( #832 )
...
Conflicts: ROADMAP.md (union of rows)
2026-10-24 06:16:06 +00:00
aiongg
2109dfa03c
Merge PR #1244 : Status bar: keep a long language name from overlapping
2026-10-24 06:15:59 +00:00
aiongg
e6f7648219
Integration: #945 allow unwrap and expect in the thumbs tests module
2026-10-24 06:15:59 +00:00
aiongg
3aa8f4b8b1
Merge PR #1016 : Render: table body text on tinted cells picks the theme colour that contrasts with the fill, so default tables stay readable on dark themes
2026-10-24 06:15:56 +00:00
aiongg
4f56789f45
Merge PR #945 : Thumbnails: navigating slides scrolls the pane to keep the current slide visible ( #917 )
...
ROADMAP.md: kept all table lines.
2026-10-24 06:15:56 +00:00
aiongg
f2e2fcaba4
Merge PR #1015 : Chart text can be coloured (chart.options textColor, format.color) and follows the theme by default
...
Conflicts: crates/engine/src/cmd/insert.rs (kept main's apply_bin_options / apply_subtotals_and_bars helpers and added the textColor assignment)
2026-10-24 06:15:53 +00:00
aiongg
6971d55345
Merge PR #799 : Text boxes: a click on the frame selects the box whole ( #787 )
...
docs/ui-parity.md: kept main's status header lines; the PR's older header dropped, its new table row kept.
2026-10-24 06:15:50 +00:00
aiongg
aed303e504
Integration: #956 chart.options dataLabels resets the series' own settings
...
Without it, turning Data Labels on did nothing for an imported chart whose series read showVal 0.
2026-10-24 06:15:41 +00:00
aiongg
c7388bd1ed
Merge PR #320 : Text: Tab no longer ends text entry in lists ( #93 )
...
crates/ui-egui/src/lib.rs: keyboard() keeps main's image-paste event scan and adds the PR's focus surrender (one shared modal flag); both new tests kept (typing_goes_on_after_tab_in_a_text_box, tab_in_an_edited_list_keeps_the_keyboard).
2026-10-24 06:15:41 +00:00
aiongg
cac379b5ee
Merge PR #956 : Charts: a series' own data-label setting decides whether its labels show ( #868 )
...
Conflicts: crates/model/src/chart.rs (kept series_data_labels and main's waterfall_value_range split; value_range stays where main has it)
2026-10-24 06:15:05 +00:00
aiongg
7fd34fb359
Merge PR #813 : engine: a hostile text selection can't drive paragraph commands past the body
2026-10-24 06:15:03 +00:00
aiongg
5827d3b4c1
Merge PR #904 : Clamp text.selectParagraph paragraph index to avoid overflow
2026-10-24 06:15:03 +00:00
aiongg
f6597e0259
Merge PR #1043 : Replace Fonts test: a window wide enough to hold Home's ribbon
2026-10-24 06:15:03 +00:00
aiongg
f8a70063f7
Merge PR #965 : Tests: Ctrl+A in the slide sorter selects every slide ( #936 )
...
ROADMAP.md: kept both table lines.
2026-10-24 06:15:03 +00:00
aiongg
601a20ecf6
Merge PR #805 : Preferences: checkboxes and slider rails show in light mode
2026-10-24 06:14:58 +00:00
aiongg
ca0e1a300a
Merge PR #1208 : Theme: text fields show in the light theme ( #1204 )
...
crates/ui-egui/src/lib.rs: kept both test modules (field_frame_tests, find_dialog_tests).
2026-10-24 06:14:58 +00:00
aiongg
ee721e26dd
Merge PR #1198 : Make chart axis flatness thresholds relative to data magnitude
2026-10-24 06:14:53 +00:00
aiongg
a1c92dc6c5
Merge PR #1146 : Charts: bars draw their series' pattern fill and no fill
...
Conflicts: ROADMAP.md (union of progress-log rows)
2026-10-24 06:14:53 +00:00