Brandon Thomas
d43eefe522
Merge pull request #461 from neilcawse:fix/ribbon-paste
2026-10-12 23:35:19 -04:00
Brandon Thomas
31eb549204
Merge pull request #454 from Dejan-Port:fix-french-header-footer
2026-10-12 23:35:16 -04:00
Brandon Thomas
ed971d8f87
Merge pull request #453 from Dejan-Port:i18n-serbian
2026-10-12 23:35:14 -04:00
Brandon Thomas
f267530b7c
Merge pull request #452 from tydude001:fix/432-filter-list-scroll
2026-10-12 23:35:13 -04:00
Brandon Thomas
f4acdcebe5
Merge pull request #450 from SteamSmith:fix/write-file-temp-cleanup
2026-10-12 23:35:12 -04:00
Brandon Thomas
dd165335e1
Merge pull request #448 from Dejan-Port:select-inserted-chart
2026-10-12 23:35:11 -04:00
Brandon Thomas and Claude Opus 5.5
811a8a139a
Fix-up: rustfmt the area-chart label condition after merging the chart PRs
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 23:33:10 -04:00
Brandon Thomas
2df8dd6392
Merge pull request #618 from MarekSpodBiedry:issue-540
2026-10-12 23:29:58 -04:00
Brandon Thomas and Claude Opus 5.5
4941bf8da0
ROUNDUP keeps #NUM! past the number range; only toward-zero rounding returns 0
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 23:29:56 -04:00
Brandon Thomas
59872eca3c
Merge pull request #627 from MarekSpodBiedry:issue-531 (test fix)
2026-10-12 23:23:35 -04:00
Brandon Thomas and Claude Opus 5.5
7ea5cd3975
Test: the helper is new_session so a rebound session variable does not shadow it
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 23:23:33 -04:00
Brandon Thomas
e5071f382b
Merge pull request #637 from MarekSpodBiedry:issue-518
2026-10-12 23:21:59 -04:00
Brandon Thomas
1fa38e583e
Merge pull request #636 from MarekSpodBiedry:issue-519
2026-10-12 23:21:58 -04:00
Brandon Thomas
4d8af67d0e
Merge pull request #635 from MarekSpodBiedry:issue-520
2026-10-12 23:21:57 -04:00
Brandon Thomas
c3546f0c97
Merge pull request #634 from MarekSpodBiedry:issue-521
2026-10-12 23:21:56 -04:00
Brandon Thomas
ff16e979cd
Merge pull request #633 from MarekSpodBiedry:issue-522
2026-10-12 23:21:54 -04:00
Brandon Thomas
a507761696
Merge pull request #631 from MarekSpodBiedry:issue-524
2026-10-12 23:21:53 -04:00
Brandon Thomas
3794892f28
Merge pull request #628 from MarekSpodBiedry:issue-527
2026-10-12 23:21:52 -04:00
Brandon Thomas
46ba36e896
Merge pull request #627 from MarekSpodBiedry:issue-531
2026-10-12 23:21:51 -04:00
Brandon Thomas
739c5b8545
Merge pull request #626 from MarekSpodBiedry:issue-532
2026-10-12 23:21:50 -04:00
Brandon Thomas
3f5b29a07e
Merge pull request #625 from MarekSpodBiedry:issue-533
2026-10-12 23:21:49 -04:00
Brandon Thomas
487f736c8f
Merge pull request #624 from MarekSpodBiedry:issue-534
2026-10-12 23:21:47 -04:00
Brandon Thomas
b28a92baa4
Merge pull request #623 from MarekSpodBiedry:issue-535
2026-10-12 23:21:46 -04:00
Brandon Thomas
f6252418d9
Merge pull request #622 from MarekSpodBiedry:issue-536
2026-10-12 23:21:45 -04:00
Brandon Thomas
8474233335
Merge pull request #621 from MarekSpodBiedry:issue-537
2026-10-12 23:21:44 -04:00
Brandon Thomas
c8f249fc97
Merge pull request #620 from MarekSpodBiedry:issue-538
2026-10-12 23:21:42 -04:00
Brandon Thomas
9e3a83464f
Merge pull request #619 from MarekSpodBiedry:issue-539
2026-10-12 23:21:41 -04:00
Brandon Thomas
09c719623b
Merge pull request #618 from MarekSpodBiedry:issue-540
2026-10-12 23:21:40 -04:00
Brandon Thomas
6de925c1b6
Merge pull request #617 from MarekSpodBiedry:issue-541
2026-10-12 23:21:39 -04:00
Brandon Thomas
2f83a04521
Merge pull request #616 from MarekSpodBiedry:issue-542
2026-10-12 23:21:38 -04:00
Brandon Thomas
e447fb8c90
Merge pull request #613 from MarekSpodBiedry:issue-545
2026-10-12 23:21:34 -04:00
Brandon Thomas
db4fd82595
Merge pull request #612 from MarekSpodBiedry:issue-546
2026-10-12 23:21:33 -04:00
Brandon Thomas
a85638ddd1
Merge pull request #611 from MarekSpodBiedry:issue-547
2026-10-12 23:21:32 -04:00
Brandon Thomas
4164ca557e
Merge pull request #609 from MarekSpodBiedry:issue-552
2026-10-12 23:21:30 -04:00
Brandon Thomas
51b1b031d4
Merge pull request #608 from MarekSpodBiedry:issue-554
2026-10-12 23:21:29 -04:00
Brandon Thomas
28c5bf1b06
Merge pull request #607 from MarekSpodBiedry:issue-556
2026-10-12 23:21:28 -04:00
Brandon Thomas
cd985b7d49
Merge pull request #606 from MarekSpodBiedry:issue-557
2026-10-12 23:21:27 -04:00
Brandon Thomas
8f99be0f2e
Merge pull request #605 from MarekSpodBiedry:issue-558
2026-10-12 23:21:25 -04:00
neilcawse
95012e03b4
UI: a cut's text pastes again once the clipboard has held other text
2026-10-12 21:19:05 -04:00
neilcawse
4d654c5185
UI: Cmd/Ctrl+V doesn't re-paste a pasted cut's clipboard text either
2026-10-12 20:51:39 -04:00
neilcawse
fd1ed6649b
UI: Paste doesn't re-paste a pasted cut's clipboard text; Paste keytip (H,V,P) pastes the system clipboard
2026-10-12 20:51:39 -04:00
neilcawse
cc65915d16
UI: keytip Copy/Cut publish to the system clipboard; ribbon Paste keeps a newer programmatic copy
2026-10-12 20:51:39 -04:00
neilcawse and Claude Opus 5.5
fa1dcd73e2
UI: Paste button and menus paste the system clipboard; freeze regression test ( #273 )
...
In 0.5.0 a click anywhere on the Home ribbon's Paste button (label,
icon or dropdown arrow) froze the app for good. home() called
paste.secondary_clicked() inside ctx.data_mut(); after any click egui
answers that with ctx.input(), which takes the context lock the closure
already holds, so the UI thread waited on itself. Sampling the hung
0.5.0 process on macOS shows the main thread parked in
RawRwLock::lock_exclusive_slow under Context::write <- data_mut <-
ribbon::home. #272 moved the query out of the closure; it landed after
the 0.5.0 release, which is the build both reporters used.
No test ever clicked the Paste button itself, which is how this
shipped. The new test clicks it, then opens its menu with a secondary
click and picks Paste Values, on a worker thread with a timeout so a
regression fails instead of hanging the run. With #272 reverted it
fails (egui's debug lock check panics after 10 s); with it, it passes.
The Paste button gets an accessible "Paste" name so the test (and
screen readers) can find it, the same way Pictures and Border presets
are named.
With the freeze gone, the button still did not do what it says: it
pasted GridCraft's own copy only (GridState::system_clipboard was never
assigned), so text copied in another app gave "Nothing to paste." The
ribbon button, its options menu's Paste, the cell and header context
menus and the macOS Edit menu now read the system clipboard through a
new paste_text host service and paste it like Cmd/Ctrl+V does, falling
back to GridCraft's own copy when there is no text (or no service, as
on the web). Asking egui for the clipboard instead (RequestPaste) was
tried and stalled the macOS event loop until the next input event.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 20:51:39 -04:00
skylar taylor-barrick
9fc4108899
Printing: expose native commands through control discovery
2026-10-12 16:50:03 +02:00
MarekSpodBiedry
85c7fc4d6e
Zoom dialog: a Magnification choice sets the percentage to store ( #521 )
2026-10-12 08:39:42 +02:00
MarekSpodBiedry
9be19c98d8
Keep a literal chart category with a comma or semicolon as one point on save ( #519 )
2026-10-12 08:39:37 +02:00
MarekSpodBiedry
310cade6e5
Formula: print flat operator chains iteratively so deep trees cannot overflow the stack ( #527 )
2026-10-12 08:38:48 +02:00
MarekSpodBiedry
2ce94fa581
Data Validation dialog opens on the active cell's current rule ( #522 )
2026-10-12 08:38:44 +02:00
MarekSpodBiedry
91873e03eb
Draw data labels on area and stacked area charts ( #545 )
2026-10-12 08:38:28 +02:00
MarekSpodBiedry
dc6f7246a3
Page Setup opens on the sheet's saved margins ( #524 )
2026-10-12 08:38:09 +02:00