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+Up and Ctrl+Down for 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 QFileSystemWatcher is triggered before gnuplot finishes writing the image.
  • Refactored worksheet hierarchy handling into a dedicated WorksheetHierarchyManager.

image

Edited by Alexander Semke

Merge request reports

Loading