Repository navigation
Conversation
## Autocomplete Dropdown for Text Comments - Display matching remarks from favorites/lasts/onFile sections as user types - Navigate dropdown with UP/DOWN arrow keys - Insert selected remark with ENTER key or mouse click - ESC key removes focus from text area to enable app-level navigation - Preserves full text formatting (font, size, color, bold, italic) - Maintains existing left panel highlighting behavior Technical implementation: - Custom ListView cell factory with Label graphics for proper rendering - Dual event filters (KEY_PRESSED and KEY_TYPED) to handle Enter key - Dynamic text color based on selection state (white when selected, black otherwise) - Popup with autoHide behavior positioned below text area - List height: 250px preferred, 400px max for full visibility ## LEFT/RIGHT Arrow Navigation Between PDFs - LEFT arrow: Navigate to previous PDF in list - RIGHT arrow: Navigate to next PDF in list - Preserves page number across PDFs (scrolls to top of same page in next PDF) - Uses lazy keyboard shortcuts (lower priority, safe UI elements only) Technical implementation: - Added forceScrollToPage field to MainScreen for page targeting - Pass resetScrollValue=true to openFile() to prevent Edition scroll restoration - 500ms delay ensures layout operations (showPages, loadEdition, updatePaneDimensions) complete - Uses scrollToPage() method for reliable scroll positioning Known limitation: Page preservation only works reliably when at the top of a page. When scrolled within a page, navigation may jump to the next page due to viewport detection behavior of getFirstTopVisiblePage(). Files modified: - TextTab.java: Autocomplete dropdown functionality - KeyboardShortcuts.java: LEFT/RIGHT arrow handlers for PDF navigation - FileTab.java: loadPreviousFilePreservePage() and loadNextFilePreservePage() - MainScreen.java: Page targeting system with forceScrollToPage
Owner
|
Thank you for contributing to PDF4Teachers. Here is a review of your MR :
|
…upported characters fixes ClementGre#221 (cherry picked from commit 97d044d)
…rt error. (cherry picked from commit ba097ef)
…rt error. (cherry picked from commit 63eefe8)
Fixing the postinst script (cherry picked from commit b016f06)
Remark saving (favorites/lasts/lists): - Snapshot config data on the FX thread, write it on the saver thread - Atomic writes (tmp + move), never write an older snapshot over a newer one - No save before the file is loaded; back up unreadable files as .bak - Save on color/font/width/uses changes and list save/delete Shortcuts: - One file switch per key press (holding a key no longer opens many files) - Alt+PageUp/PageDown to switch files keeping the page/exercise (Ctrl+Alt+arrows are taken by most Linux desktops) - Alt+Up/Down selects the previous/next exercise in exercise mode - Left/Right move between pages again in grid view and edit pages mode - Target page passed to openFile instead of a leaking mutable field - ESC in the text area gives the focus back to the document Page caching: - Prefetched pages no longer keep the loading spinner - A visible page queued as prefetch is moved to the front of the queue - Pending renders of a page are merged; stale renders dropped on page jumps - Neighbor files preload cancels outdated work, next file first, also when navigating without exercise mode - Edition cache returns deep copies and is invalidated by simpleSave Other: - Enter inserts a new line unless a suggestion was picked with Up/Down; suggestions are deduplicated; debug prints removed - Exercise pages keyed by grade name and stored per evaluation, with migration of the old Q1/Q2 mapping; exercise mode is persisted - PNF: one undo step, blank text boxes are not taken as table rows - New UI strings translated (en, fr) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each evaluation (identified by its exercise names) has a catalog of comments linked to a sub-grade, with signed points. Placing one on a copy shows "Comment (−0.5)" and computes the sub-grade from its max (or from 0) plus the points of its comments; a typed value still wins. - Grades tab panel: list filtered by exercise, click then click on the page to place (Shift keeps it armed), keys 1-9, page context submenu - Per-copy edits (text or points) are kept when the entry is updated; reset, save as new entry, or use this version for all copies - Entry changes are pushed to the other open copies with the same grade scale after a preview of the grade changes - Search window to find the copies having a comment - Stored in the texts section of edit files, readable as plain texts by older versions; catalogs in scoredcomments.yml Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…cale Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ts, marks and Moodle export - Store the data of an evaluation in a hidden .pdf4teachers folder next to its copies: comments by exercise, scored comments, notes and their screenshots. Existing notes and scored comments are migrated when their folder is opened. - Texts tab: "This evaluation" section listing the comments written on the copies, grouped by exercise (found from where each comment is placed), with move/remove actions. - "Where is it written?": page previews of every copy using a comment, across evaluations, zoomable around the comment; a click opens the copy at that page. - Notes tab: personal notes and screenshots of a region of a copy (Ctrl+Shift+N / Ctrl+Shift+S), linked to their copy, page and exercise. - Grading panel: buttons to jump to the page of each exercise (Alt+1..9). - Formulas in texts with $...$ ($$...$$ still read): text keeps its font and wraps, formulas rendered inline, identical on screen and in the export. Wrapping, growing text field with preview, formula toggle and symbol buttons. The inverted default input mode is removed. - Marks computed from the grades, and Moodle feedback export. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ws and review - Grading panel "Methods & mistakes" card for the exercise being graded: chips to add or remove a method or a mistake on the copy, inline creation, rename, kind change, delete. - # (or Ctrl+Shift+M) opens a picker at the mouse: search or create, Enter applies it at the spot under the mouse, Tab switches between method and mistake. - Class overview: copies, share and average points of the exercise for each tag, and the copies without method. - Previews of all the copies of a tag (or without method), zoomable around the spot, with the points of each copy; wider previews when zoomed in. - Review mode: previous/next copy only goes through the copies of a tag, opened at the tagged spot, with a banner to step through or stop. - Stored in the evaluation folder (.pdf4teachers/tags.yml), never written on the copies. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Disclaimer
Everything was implemented using Claude Code Web and verified by the user.
Summary
Added autocomplete dropdown and insert comment when hitting ENTER to the T view (text comments) and PDF navigation improvements with left/right arrows.
Autocomplete Dropdown for Text Comments
Technical implementation:
LEFT/RIGHT Arrow Navigation Between PDFs
Technical implementation:
Known limitation: Page preservation only works reliably when at the top of a page. When scrolled within a page, navigation may jump to the next page due to viewport detection behavior of getFirstTopVisiblePage().
Files modified: