Improve and extend the table of contents panel
This MR improves worksheet navigation, structure handling, plot integration, and general worksheet usability.
New features and improvements
- Added a Table of Contents panel showing worksheet entries as a hierarchical tree.
- Added support for Chapter, Subchapter, Section, Subsection, Paragraph, and Subparagraph entries.
- Added optional Command and Plot entries to the Table of Contents.
- Added direct navigation to headings, commands, and individual plot results.
- Added automatic synchronization between the active worksheet entry and the current Table of Contents item.
- Added search and filtering for headings, commands, custom titles, and plots.
- Added configurable visibility for hierarchy entries, commands, and plots.
- Added actions to expand or collapse the complete Table of Contents.
- Added renaming of headings, commands, and plots.
- Added actions to promote or demote hierarchy entries.
- Added separate actions for deleting a heading or its complete section.
- Added keyboard support for navigation, renaming, deletion, searching, and context menus.
- Preserved expansion and selection states when filtering, updating, or switching worksheets.
- Added stable identifiers and persistent custom titles for commands and results.
- Added a dedicated Table of Contents settings page for visible items and hierarchy fonts.
- Added compact font selection using
KFontRequester. - Updated hierarchy entry colors automatically when the application theme changes.
- Added
Ctrl+UpandCtrl+Downfor moving worksheet entries. - Improved moving multiple selected entries and complete hierarchy sections.
- Improved drag-and-drop with insertion previews, mouse-wheel scrolling, edge auto-scrolling, and cancellation with Escape.
- Improved focus and automatic scrolling when navigating between worksheet entries.
- Improved keyboard handling in read-only worksheets.
- Fixed incomplete hierarchy entry borders during drag operations.
- Improved Maxima plot loading when
QFileSystemWatcheris triggered before gnuplot finishes writing the image. - Refactored worksheet hierarchy handling into a dedicated
WorksheetHierarchyManager.
Edited by Alexander Semke
