Skip to content

🎨 Palette: Make installation status text selectable - #265

Closed
dieterolson wants to merge 1 commit into
mainfrom
palette-ux-selectable-status-labels-7750603979353054202
Closed

dieterolson wants to merge 1 commit into
mainfrom
palette-ux-selectable-status-labels-7750603979353054202

Conversation

@dieterolson

Copy link
Copy Markdown
Contributor

🎨 Palette: Make installation status text selectable

What:
Added Qt.TextInteractionFlag.TextSelectableByMouse and Qt.TextInteractionFlag.TextSelectableByKeyboard to the _lbl_root, _lbl_llama, _lbl_models, _lbl_deps, and _lbl_setup_env status labels in SetupDialog.

Why:
Informational labels showing paths and environment statuses in setup dialogs are often useful to copy when troubleshooting issues. Previously, these were unselectable.

Accessibility:
Added keyboard-selectable text interaction flags so keyboard users can also interact with and copy the text.


PR created automatically by Jules for task 7750603979353054202 started by @dieterolson

This allows users to easily copy paths, dependency statuses, or error
messages from the installation status panel, improving the troubleshooting
experience. Also adds keyboard interaction flags for accessibility.

Co-authored-by: dieterolson <198168927+dieterolson@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

πŸ‘‹ Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a πŸ‘€ emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 15, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
πŸ“ Code Review βœ… Completed 2026-09-15T05:30:45.488817Z 95c493e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with πŸ‘€ while any review is running, comments if it has suggestions, and reacts with πŸ‘ once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ’‘ Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 95c493efd9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with πŸ‘.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +173 to +176
lbl.setTextInteractionFlags(
Qt.TextInteractionFlag.TextSelectableByMouse
| Qt.TextInteractionFlag.TextSelectableByKeyboard
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add the required canonical handoff update

This implementation commit adds user-visible behavior, but its changed-file set does not update docs/development/HANDOFF.md, which remains absent from the commit. That leaves no durable record of the objective, validation results, compatibility constraints, or continuation state required for implementation commits.

AGENTS.md reference: AGENTS.md:L267-L274

Useful? React with πŸ‘Β / πŸ‘Ž.

Comment on lines +173 to +176
lbl.setTextInteractionFlags(
Qt.TextInteractionFlag.TextSelectableByMouse
| Qt.TextInteractionFlag.TextSelectableByKeyboard
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Track the new feature in the development log

This introduces a new live UX feature without modifying docs/development/DEVELOPMENT_LOG.md; the existing log contains no entry for the selectable setup-status labels. Consequently, this work is orphaned from its governing issue, branch, verification state, and next step.

AGENTS.md reference: AGENTS.md:L336-L341

Useful? React with πŸ‘Β / πŸ‘Ž.

Comment thread SPEC.md
Comment on lines +271 to +273
### UX Updates

- Added `Qt.TextInteractionFlag.TextSelectableByMouse | Qt.TextInteractionFlag.TextSelectableByKeyboard` to the installation status labels in `src/bitnet_launcher/gui/setup_dialog.py` so users can easily select and copy paths, dependency statuses, or error messages.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Record the SPEC change as a keyed changelog row

The commit appends another free-form UX Updates section rather than the required single changelog row keyed by a PR or governing issue. Without the | YYYY-MM-DD | #<PR or issue> | summary | form, this change loses the collision-safe attribution required for concurrent contributions.

AGENTS.md reference: AGENTS.md:L382-L389

Useful? React with πŸ‘Β / πŸ‘Ž.

Comment thread .jules/palette.md
Comment on lines +196 to +199
## 2026-09-15 - Selectable Status Labels

**Learning:** Informational status labels (like paths, dependency statuses, or error messages in setup dialogs) are often unselectable by default in PyQt6, forcing users to manually transcribe paths or error messages if they need to copy them.
**Action:** When creating status elements containing information a user might need to copy, always make them selectable by applying with both mouse and keyboard flags (e.g., ).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the duplicated malformed palette entry

This first Selectable Status Labels entry is immediately repeated by a corrected version, while its action text has lost the QLabel and setTextInteractionFlags identifiers and leaves an empty example. Keeping both adds contradictory-looking, unusable guidance to the agent palette instead of the single requested learning.

AGENTS.md reference: AGENTS.md:L106-L111

Useful? React with πŸ‘Β / πŸ‘Ž.

Comment on lines +173 to +176
lbl.setTextInteractionFlags(
Qt.TextInteractionFlag.TextSelectableByMouse
| Qt.TextInteractionFlag.TextSelectableByKeyboard
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Make keyboard-selectable labels reachable by keyboard

When TextSelectableByKeyboard is set on a QLabel, Qt automatically gives it ClickFocus, which does not put it in the Tab focus chain. Because these labels have no shortcut or other programmatic focus path, a keyboard-only user still cannot reach them to select or copy their text; explicitly assign an appropriate Tab/Strong focus policy when enabling keyboard selection.

Useful? React with πŸ‘Β / πŸ‘Ž.

@dieterolson

Copy link
Copy Markdown
Contributor Author

Closing as redundant duplicate of #270 (merged into main). #270 implemented text selectability on SetupDialog status labels along with unit tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant