50 Commits
Author SHA1 Message Date
MarekSpodBiedry dbc5c3407b Size the text cursor by the font, not the line spacing (#2920) (#3011) 2026-10-19 03:05:17 -04:00
MarekSpodBiedry 3f9c19d9f3 Opening a missing recent file keeps File open and shows the error (#2938) (#3012) 2026-10-19 03:05:11 -04:00
MarekSpodBiedryandBrandon Thomas ca6faa8c1d DOCX: Word 2007 WordArt (VML textpath) in the body is shown as text, not dropped (#2875) (#2903)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-18 11:52:01 -04:00
MarekSpodBiedryandBrandon Thomas 0786b2eae5 Keep the Insert SmartArt dialog within the window (#2832) (#2902)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-18 11:51:45 -04:00
MarekSpodBiedryandBrandon Thomas ae5da324ad Proofing: say when a dictionary is installed but unreadable, with file and reason (#2830) (#2900)
* Proofing: say when a dictionary is installed but unreadable, with file and reason (#2830)

* proof test: use SHIFT_JIS as the unsupported encoding (ISO 8859-1 is decoded since #2904)

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-18 11:51:13 -04:00
MarekSpodBiedryandBrandon Thomas 69302481ad Decode ISO 8859-1 Hunspell dictionaries so the original pt_BR works (#2824) (#2904)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-18 11:50:59 -04:00
MarekSpodBiedryandBrandon Thomas e7cd8679ad Keep the ODT paragraph 'Keep with next' option on import and export (#2813) (#2825)
* Keep the ODT paragraph 'Keep with next' option on import and export (#2813)

* file-format-parity: keep with next on the ODT row

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-18 11:46:48 -04:00
MarekSpodBiedryandBrandon Thomas 4495e2be53 Use the Default Paragraph Style font when importing ODT (#2804) (#2823)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-18 11:46:32 -04:00
MarekSpodBiedry ecd94e0f8a Ribbon tab clicks no longer scroll the page to the caret while a footer is edited (#2054) (#2121) 2026-10-18 04:00:18 -04:00
MarekSpodBiedry ace1adc624 Format Painter: double-click keeps it on, armed and sticky look different (#2785) (#2822) 2026-10-18 03:44:13 -04:00
MarekSpodBiedryandBrandon Thomas 4b33e7b4ab Text typed after a footnote or endnote number is no longer superscript (#1593) (#1663)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-14 21:59:29 -04:00
MarekSpodBiedryandBrandon Thomas 1c814e0269 Copy puts the formatted text on the system clipboard as HTML, not only copies with equations (#1523) (#1667)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-14 21:29:56 -04:00
MarekSpodBiedry b53796d412 Dropping several images inserts all of them (#1592) (#1664) 2026-10-14 21:29:37 -04:00
MarekSpodBiedry 910a2bb312 Convert Text to Table refuses to drop fields or a table in the selection (#1318) (#1416) 2026-10-14 19:07:04 -04:00
MarekSpodBiedry 1024fc471b DOCX: cap the depth of header/footer parts that reference further headers/footers (#1322) (#1415) 2026-10-14 19:06:52 -04:00
MarekSpodBiedryandBrandon Thomas 81c52fecc0 Outline Promote, Demote, Move Up and Move Down add one undo step instead of two (#1363) (#1403)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-14 19:06:41 -04:00
MarekSpodBiedry 3a201c8246 Document::delete_range checks both ends before editing, so an error leaves the document unchanged (#1350) (#1410) 2026-10-14 19:01:47 -04:00
MarekSpodBiedry d1b14504dc Restart Numbering keeps the list's own level definitions (#1351) (#1409) 2026-10-14 19:01:36 -04:00
MarekSpodBiedry 4262276418 Print to PDF and PNG export replace the file only after it is fully written (#1355) (#1408) 2026-10-14 19:01:25 -04:00
MarekSpodBiedry 825538fc8b MCP type_text reports a refused paragraph break instead of typing the next line (#1356) (#1407) 2026-10-14 19:01:12 -04:00
MarekSpodBiedry f8d06ebb27 RTF import decodes Unicode escapes in font names (#1360) (#1406) 2026-10-14 19:01:01 -04:00
7188d8ae04 Save preferences through a temporary file and log write failures (#1361) (#1404)
* Save preferences through a temporary file and log write failures (#1361)

* Move the preferences test module to the end of main.rs (clippy::items_after_test_module)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 19:00:49 -04:00
MarekSpodBiedryandBrandon Thomas 7591283266 Mouse wheel keeps scrolling while a text selection is being dragged (#1388) (#1402)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-14 19:00:37 -04:00
MarekSpodBiedry fd152762b3 Table selection arrow stays visible on dark paper (#1078) (#1095) 2026-10-14 01:52:53 -04:00
MarekSpodBiedry f322c60bdf wordcraft-cli text keeps bullet and number labels on list items (#1080) (#1094) 2026-10-14 01:50:42 -04:00
MarekSpodBiedryandBrandon Thomas bc60cbaadb Zoom after One Page keeps one page per row (#768) (#832)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 09:05:40 -04:00
MarekSpodBiedryandBrandon Thomas 7fbcd0643a Keep the font table and embedded fonts when saving a .docx (#770) (#831)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 09:02:02 -04:00
MarekSpodBiedryandBrandon Thomas e347ef203e Accept and Reject at the caret cover a tracked change split by a comment (#809) (#830)
* Accept and Reject at the caret cover a tracked change split by a comment (#809)

* Test reads the text past the comment's anchor objects

* rustfmt after merging main

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 08:57:38 -04:00
MarekSpodBiedryandBrandon Thomas 0a82b684f8 fix(ui): equation gallery tiles follow the dark theme (#817) (#827)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 08:51:00 -04:00
MarekSpodBiedryandBrandon Thomas 03e9328d4b Comment cards show the time as well as the date (#812) (#828)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 08:39:57 -04:00
18e25d0883 ODT import reads page size, orientation and margins from styles.xml (#810) (#829)
* ODT import reads page size, orientation and margins from styles.xml (#810)

* Review fixes for #829: clamp ODT page size and margins

Page width/height from styles.xml are kept to 36..=1584 pt (the DOCX
reader's floor, Word's 22-inch maximum) and each margin is capped at the
page's longer side, like w:pgMar. Adds a hostile-values test and collapses
a nested if for clippy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 08:01:25 -04:00
520bc2863e Ribbon and context-menu Paste insert the system clipboard's text (#584) (#593)
* Ribbon and context-menu Paste insert the system clipboard's text (#584)

* Review fixes for #593: ribbon Paste of copied picture files inserts the pictures

Picture files copied in a file manager reach the clipboard as their paths;
ribbon/context-menu Paste now pastes the pictures (as Ctrl+V does) instead
of the path text. Test included.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 01:48:02 -04:00
MarekSpodBiedryandBrandon Thomas 92d6165d4c Let dialogs be dragged by their title bar instead of pinning them to the screen centre (#732) (#748)
* Let dialogs be dragged by their title bar instead of pinning them to the screen centre (#732)

* rustfmt after merging main

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 00:54:25 -04:00
MarekSpodBiedryandBrandon Thomas cad4138e7e Backspace still erases while Shift is held (#707) (#747)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 00:50:14 -04:00
MarekSpodBiedryandBrandon Thomas 4fb9c2cb2a Ink: draw the live pen stroke in the dark-page colour while drawing, not only after lifting the pen (#730) (#746)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-12 00:48:02 -04:00
MarekSpodBiedryandBrandon Thomas d1064bbaad Zotero: a note with a picture stays when its citation moves to body text (#469) (#581)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-11 22:23:54 -04:00
MarekSpodBiedryandBrandon Thomas 387873ae05 Zotero: a pending citation no longer edits a replacement document (#470) (#580)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-11 22:20:33 -04:00
MarekSpodBiedryandBrandon Thomas cfb65364c7 Web: a CSV picked as recipients no longer turns the next TXT drop into recipients (#472) (#579)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-11 22:18:07 -04:00
MarekSpodBiedryandBrandon Thomas e9da654903 IME composition text uses document fallback fonts instead of boxes (#565) (#578)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-11 22:12:39 -04:00
c29e70ee8a Lists: a numbered list after a bulleted list keeps its numbering in ODT, RTF and Markdown (#83) (#87)
* Lists: a numbered list after a bulleted list keeps its numbering in ODT, RTF and Markdown (#83)

* Import: a top-level list item of the other kind starts a new list

The writers now split a bulleted list from a following numbered one, but the shared importer merged consecutive list paragraphs back into one list, so ODT and RTF still read the numbered items as bullets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 06:35:10 -04:00
MarekSpodBiedry 59d96995bd Find and Replace: Replace All now respects Track Changes (#88) (#92) 2026-10-10 06:34:40 -04:00
MarekSpodBiedry 6f282df367 HTML import: tables without borders stay borderless in .docx (#99) (#102) 2026-10-10 06:16:21 -04:00
MarekSpodBiedry f71fa219ca Page break (Ctrl+Enter) survives ODT/TXT/Markdown/HTML export and no longer glues words (#84) (#86) 2026-10-10 06:16:15 -04:00
MarekSpodBiedry 6b1f7a2741 DOCX: keep a line break written directly in a paragraph (#96) (#101) 2026-10-10 06:16:08 -04:00
MarekSpodBiedry 1633cbcfaa Desktop: keep the off-screen check until the monitor size is known (#23) (#76) 2026-10-10 06:01:48 -04:00
MarekSpodBiedryandBrandon Thomas 78369fd2e9 Desktop: remember the window size and position (#23) (#38)
Co-authored-by: Brandon Thomas <shared2@storyteller.ai>
2026-10-09 09:13:23 -04:00
MarekSpodBiedryandBrandon Thomas 8588fb908a Options: remember the user name between runs (#32) (#35)
Co-authored-by: Brandon Thomas <shared2@storyteller.ai>
2026-10-09 09:02:16 -04:00
MarekSpodBiedry 0edb87e3da draw Symbol and Wingdings bullets as Unicode when the font is missing (#29) (#37) 2026-10-09 08:48:57 -04:00
MarekSpodBiedry 61e2152250 Ruler: dragging an indent marker is one undo step (#57) (#62) 2026-10-09 08:48:37 -04:00
MarekSpodBiedry eec54c635b Ctrl+-, Ctrl+= and Ctrl+0 no longer zoom the whole window (#14) (#36)
egui's built-in keyboard zoom fired on the same keys as Word's shortcuts (optional hyphen, subscript, space before), so Ctrl+- looked like zoom out while it also typed an optional hyphen over the selection. Turn it off once at startup; document zoom stays under View > Zoom and the status bar.
2026-10-09 08:48:30 -04:00