fix(gui): make Doctor & Setup output selectable/copyable (#108)#135
Closed
prekabreki wants to merge 1 commit into
Closed
fix(gui): make Doctor & Setup output selectable/copyable (#108)#135prekabreki wants to merge 1 commit into
prekabreki wants to merge 1 commit into
Conversation
The Doctor/Setup output (doctor row message+fix lines, setup tool-path summary, per-tool status, and Oodle/HZD warning lines) rendered in QLabels the user could not select or copy. A user who hit an error had no way to copy the text to paste into an issue. Add a small `_selectable()` helper that sets `Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard` on a label, and apply it to every output-bearing label: the doctor row text, the setup paths label, the warnings label, and each per-tool status label. Layout, styling and severity colouring are unchanged -- this only flips the text interaction flags. Tests: doctor rows carry selectable text, and all setup output labels (paths, warnings, per-tool status) are selectable after a real setup run. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Owner
Author
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.
What
In the Pipeline tab's Setup screen / Doctor panel (
src/deciwaves/gui/views/setup.py), the rendered output was shown inQLabels the user could not select or copy. A user who hit an error had no way to copy the text (tool paths, warnings, doctor rows, error/summary lines) to paste into an issue.Change
_selectable(label)helper that setsQt.TextSelectableByMouse | Qt.TextSelectableByKeyboardand returns the label._paths_label),_warnings_label),_tool_status[...]).Layout, styling and severity colouring are all unchanged -- this only flips the text-interaction flags so the existing labels become selectable/copyable. Scope is strictly making output copyable; no progress/cancel/failure-surfacing (that's #129).
Tests
Added two offscreen widget tests in
tests/gui/test_setup_view.py:test_doctor_rows_are_selectable-- the doctor row that carries the message/fix text is selectable.test_setup_output_widgets_are_selectable-- after a real setup run, the paths label, warnings label, and every per-tool status label are selectable.ruff check src testsandpytest -qboth green (1129 passed, 33 skipped) offscreen.Closes #108
🤖 Generated with Claude Code