D. Fender
09f78cb3a8
Tables: Format as Table inside a table restyles it
...
Home > Format as Table on a cell or range inside an existing table
failed with "A table can't overlap another table." Excel applies the
picked style to that table instead. The command now returns that table
and its range, as it does for a new table. A range crossing a table's
edge is still rejected.
Without a range, the active area of the selection decides, as it does
for Insert > Table. The native Format menu's Format as Table now runs
home.formatAsTable instead of insert.table.
2026-10-22 11:43:58 -07:00
aiongg
c7016fb724
Integration: fix struct literals and call signatures after combining tracks (Series.quartiles, Comment.note_box, Image data Arc, signature language)
2026-10-22 03:11:35 +00:00
aiongg
d5cdd2ea2b
Integration: track t15
...
# Conflicts:
# contributors/people.toml
# crates/engine/src/tests.rs
# docs/file-format-parity.md
# docs/localization-parity.md
2026-10-22 03:05:39 +00:00
aiongg
561382cc6d
Integration: track t14
...
# Conflicts:
# ROADMAP.md
# contributors/people.toml
# crates/formula/src/tests.rs
# docs/file-format-parity.md
# docs/localization-parity.md
# docs/ui-parity.md
2026-10-22 03:05:30 +00:00
aiongg
ca1cdd4229
Integration: track t13
...
# Conflicts:
# ROADMAP.md
# contributors/people.toml
# crates/engine/src/cmd/data.rs
# crates/xlsx/src/tests/mod.rs
# docs/chart-parity.md
# docs/file-format-parity.md
# docs/function-parity.md
# docs/gaps.md
# docs/localization-parity.md
# docs/target-app-parity.md
2026-10-22 03:05:18 +00:00
aiongg
c7fd66d807
Integration: track t12
...
# Conflicts:
# ROADMAP.md
# crates/calc/src/tests.rs
# crates/chart/src/tests.rs
# crates/engine/src/tests.rs
# crates/xlsx/src/tests/mod.rs
# docs/chart-parity.md
2026-10-22 03:05:03 +00:00
aiongg
9350ab1def
Integration: track t11
...
# Conflicts:
# ROADMAP.md
# apps/gridcraft-web/Cargo.toml
# crates/ui-egui/src/i18n.rs
# docs/control-protocol.md
# docs/gaps.md
# docs/target-app-parity.md
# docs/ui-parity.md
2026-10-22 03:04:52 +00:00
aiongg
4c5c345c31
Integration: track t10
...
# Conflicts:
# ROADMAP.md
# crates/ui-egui/tests/sheet_tabs.rs
# crates/xlsx/src/tests/roundtrip.rs
# docs/gaps.md
# docs/ui-parity.md
2026-10-22 03:04:30 +00:00
aiongg
6dda6be2c6
Integration: track t09
...
# Conflicts:
# crates/engine/src/tests.rs
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/i18n/pt.rs
# docs/file-format-parity.md
# docs/target-app-parity.md
# docs/ui-parity.md
2026-10-22 03:04:21 +00:00
aiongg
d3201e7cea
Integration: track t08
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/tests.rs
# docs/file-format-parity.md
# docs/localization-parity.md
2026-10-22 03:03:55 +00:00
aiongg
4c81d658ec
Integration: track t05
...
# Conflicts:
# crates/ui-egui/tests/keyboard_shortcuts.rs
# docs/ui-parity.md
2026-10-22 03:01:39 +00:00
aiongg
512b2aa9fd
Integration: track t04
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/cmd/edit.rs
# crates/engine/src/cmd/formulas.rs
# crates/engine/src/tests.rs
# crates/formula/src/lib.rs
# crates/formula/src/parser.rs
# crates/formula/src/tests.rs
# crates/ui-egui/src/control.rs
# crates/ui-egui/src/formula_bar.rs
# crates/ui-egui/src/grid.rs
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/ribbon.rs
# crates/ui-egui/tests/selection.rs
# docs/function-parity.md
# docs/ui-parity.md
2026-10-22 03:01:31 +00:00
aiongg
b0b6409112
Integration: track t03
...
# Conflicts:
# ROADMAP.md
# crates/ui-egui/tests/keyboard_shortcuts.rs
# docs/file-format-parity.md
# docs/localization-parity.md
# docs/ui-parity.md
2026-10-22 03:00:13 +00:00
aiongg
54d0f7cfc0
Integration: track t02
...
# Conflicts:
# ROADMAP.md
# crates/core/src/lib.rs
# crates/ui-egui/src/editor.rs
# crates/ui-egui/src/grid.rs
# crates/ui-egui/src/tabs.rs
# docs/chart-parity.md
# docs/localization-parity.md
# docs/ui-parity.md
2026-10-22 02:59:55 +00:00
aiongg
ec61d59b41
Integration: cargo fmt
2026-10-22 02:50:46 +00:00
aiongg
1d9b29ff57
Integration: cargo fmt
2026-10-22 02:45:22 +00:00
aiongg
1316d39865
Merge PR #1151 : Charts: a huge trendline forecast no longer collapses the chart ( #1148 )
...
ROADMAP.md: all rows kept.
crates/chart/src/tests.rs: both tests kept.
2026-10-22 02:37:37 +00:00
aiongg
169c78dda8
Merge PR #1111 : Respect workbook structure protection in sheet rename, move, copy, hide and unhide ( #1049 )
2026-10-22 02:37:22 +00:00
aiongg
470a2ae2c1
Merge PR #1765 : Sheet protection: obey the Sort and Use AutoFilter boxes
...
Conflicts:
- crates/engine/src/cmd/data.rs: do_sort keeps #1284 's sheet parameter and checks Sorting on it; toggle_filter checks Filtering after #1285 's data_target
- crates/engine/src/tests.rs: adjacent tests, both kept
2026-10-22 02:37:16 +00:00
aiongg
431aaaaf69
Merge PR #2022 : Reject unparseable conditional-format formulas ( #1999 )
...
crates/engine/src/cmd/insert.rs: kept both sides: PR #884 's is_string_literal and cf_style_json, and PR #2022 's check_cf_* before edit(); 884's kept string literals parse
2026-10-22 02:36:33 +00:00
aiongg
8ec29a8b3b
Merge PR #1652 : Fill handle: right-drag opens the fill menu (Copy Cells, Fill Series, Fill Formatting Only, Fill Without Formatting, Series…)
...
crates/ui-egui/src/grid.rs: kept both GridState fields (context_menu_frame, fill_menu); previous_popups tuple has four elements inside the touch_pan branch; release match has Drag::Rows|Cols, then the two Drag::Fill arms
docs/ui-parity.md: kept HEAD header line, both change rows
2026-10-22 02:36:24 +00:00
aiongg
d97f61748e
Merge PR #1946 : XLSX: keep cell fonts' charset (Arabic 178) and family on save
...
crates/xlsx/src/styles.rs: family/charset block ported into the dxf.is_none() branch of font_xml (PR #1225 made it take Option<&DxfStated>)
docs/file-format-parity.md: header Change line keeps both sides' clauses
2026-10-22 02:36:23 +00:00
aiongg
8e2974cc65
Merge PR #1629 : Memory: undo steps share picture and macro bytes instead of copying them
...
Conflicts:
- ROADMAP.md: both progress-log and revision rows kept
- crates/xlsx/src/sheet_write.rs: keeps #995 's image_part call; drops #1629 's to_vec line (image_part copies from &[u8])
2026-10-22 02:36:22 +00:00
aiongg
cba89cfda8
Merge PR #1066 : Engine: formulas.evaluate refuses what cell entry refuses, saying why
...
ROADMAP.md: both progress-log rows kept.
2026-10-22 02:36:20 +00:00
aiongg
ced3f7ce7a
Merge PR #1912 : Print CJK text with a CID font instead of question marks
...
crates/pdf/src/lib.rs: add_page keeps both fonts [bool; FONT_SLOTS] and links Vec
2026-10-22 02:36:20 +00:00
aiongg
7fd1553a8b
Merge PR #1626 : Keyboard: Ctrl+6 hides and shows objects, saved as workbookPr showObjects
...
Conflicts:
- docs/file-format-parity.md: header and the three .xlsx rows keep main's text plus the show-objects entry; both log rows kept
- docs/ui-parity.md: header keeps main's text plus Ctrl+6; both log rows kept
2026-10-22 02:36:15 +00:00
aiongg
8590dca0db
Merge PR #2207 : clipboard: bound HTML colspan/rowspan expansion ( #2171 )
2026-10-22 02:36:12 +00:00
aiongg
d0394a0f34
Merge PR #2005 : AutoFill refuses a target that doesn't hold the source in a corner (whole rows into whole columns aborted the app)
...
crates/engine/src/fill.rs: kept both tests (#1360 and #2005 ).
2026-10-22 02:36:12 +00:00
aiongg
d67193f403
Merge PR #1685 : #1447 : a PivotChart's link names the workbook
...
docs/file-format-parity.md: header Change line names both pivot fixes; both change log rows kept
2026-10-22 02:36:11 +00:00
aiongg
635056bd23
Merge PR #2131 : Print: JIS B4/B5 and Japanese paper sizes (はがき・封筒・B6)
...
ROADMAP.md: one status line naming both changes; both feature-table and progress-log rows, newest first.
2026-10-22 02:36:10 +00:00
aiongg
7269b12f1e
Integration: #1976 scenarioShow writes stored numbers as values
...
Entering them through the parser applied percent entry to Percentage-formatted
cells (a stored 0.05 would not round-trip). Test: scenario_show_restores_a_percentage_cells_stored_number.
2026-10-22 02:36:05 +00:00
aiongg
c03d4a881b
Merge PR #1570 : XLSX: keep dynamic-array cell metadata (cm) on save
...
ROADMAP.md: kept both progress-log rows
2026-10-22 02:36:04 +00:00
aiongg
7e74b35a1b
Merge PR #2095 : Number Stored as Text: green indicator, warning button and Convert to Number ( #1994 )
...
crates/ui-egui/src/grid.rs: kept object_menu (2084) and error_check_tag (2095), both fns and both calls.
crates/ui-egui/src/i18n/de.rs, pt.rs: union of the entries.
docs/ui-parity.md: one status line naming both changes, both history rows.
2026-10-22 02:36:03 +00:00
aiongg
05ecd6d4a8
Merge PR #1628 : Add Advanced Filter dialog and fix copy-to data loss
...
crates/ui-egui/src/control.rs: kept #1477 's unconditional build_params call
crates/ui-egui/src/dialogs.rs: build_params pub(crate) once, with #1628 's advancedFilter arm
docs/ui-parity.md: status line combined, change-log rows both kept
2026-10-22 02:35:59 +00:00
aiongg
7768f56603
Merge PR #1580 : Calc: CELL("filename") names the workbook's file
2026-10-22 02:35:56 +00:00
aiongg
6b0411091a
Merge PR #1559 : Sort and de-duplicate data.textToColumns fixed-width breaks
...
Conflicts:
- crates/engine/src/cmd/data.rs: adjacent test insertions, both kept
2026-10-22 02:35:56 +00:00
aiongg
2fbb45eac0
Merge PR #2049 : Word-wrap-aware automatic row height ( #1969 )
...
crates/engine/src/cmd/mod.rs: kept #2033 's wrap-only branch and #2049 's wrapped_line_count helper, called inside the wrap branch; dropped #2049 's explicit/else arm.
2026-10-22 02:35:55 +00:00
aiongg
524ab89a1a
Merge PR #1379 : engine: subtotal honours header:false instead of dropping the first data row
...
Conflicts:
- crates/engine/src/cmd/data.rs: subtotal keeps #1285 's data_target and sheet-qualified calls with #1379 's header/first logic; grand-total range starts at first; both tests kept (#1299 filter blanks, #1379 subtotal)
2026-10-22 02:35:51 +00:00
aiongg
6e66756ce8
Merge PR #1976 : Enter bare numbers in Percentage-formatted cells as percents
2026-10-22 02:35:44 +00:00
aiongg
46647fd61e
Merge PR #1474 : Conditional formatting: text rules never match an error value ( #1162 )
2026-10-22 02:35:41 +00:00
aiongg
013ead7389
Integration: #2033 drop the dated history from the auto-fit comments
2026-10-22 02:35:41 +00:00
aiongg
aab44d2c23
Merge PR #1535 : engine: sort and remove duplicates move the rows' notes and hyperlinks
...
# Conflicts:
# crates/engine/src/tests.rs
2026-10-22 02:35:40 +00:00
aiongg
5c1b171892
Merge PR #1738 : Keep chart source range in step with inserted and deleted lines
2026-10-22 02:35:39 +00:00
aiongg
3ed16929d9
Merge PR #1320 : AutoFit Column Width measures text in the font the grid draws it with
...
Conflicts:
- crates/engine/src/cmd/format.rs: autofit_cols keeps #885 's (si, lines) and adds #1320 's measure
2026-10-22 02:35:39 +00:00
aiongg
d83dc11ff2
Merge PR #1695 : Charts: box & whisker charts honor their quartile method
...
crates/engine/src/tests.rs: kept both new tests (csv_as_text_keeps_identifier_columns_as_written and box_whisker_quartile_methods_survive_xlsx).
2026-10-22 02:35:39 +00:00
aiongg
6d4e62d12b
Merge PR #2032 : Formula entry: an incomplete formula's error describes what was typed ( fixes #2030 )
...
crates/formula/src/tests.rs: kept both tests.
2026-10-22 02:35:39 +00:00
aiongg
4fd4d39aa0
Merge PR #1308 : engine: refuse removeDuplicates with no valid column instead of deleting all rows
...
Conflicts:
- crates/engine/src/cmd/data.rs: keeps #1308 's column guard after cols is built; drops its later 'let sheet' (#1285 supplies sheet)
2026-10-22 02:35:34 +00:00
aiongg
26c6e4ca14
Merge PR #1621 : Reject unsupported flip param in arrange.rotate
...
Conflicts:
- crates/engine/src/tests.rs: kept both appended tests
2026-10-22 02:35:33 +00:00
aiongg
0118413c77
Merge PR #2080 : HTML export: place pictures and charts at their anchors
...
crates/engine/src/tests.rs: kept both sides' new tests (journal tests from #1230 , HTML export tests from the PR).
docs/file-format-parity.md: header Last updated 2026-10-21 with both change clauses; both revision-history rows, newest first.
2026-10-22 02:35:32 +00:00
aiongg
b17f47b2ca
Merge PR #2033 : Row auto-fit: count line breaks only in cells that wrap
...
ROADMAP.md: header line keeps the newer 2026-10-19 date and lists this change; this PR's progress-log row added once below the newer rows.
2026-10-22 02:35:31 +00:00