Skip to content

🎨 Palette: Enforce plain text pasting in QTextEdit fields - #223

Closed
dieterolson wants to merge 2 commits into
mainfrom
palette-qtextedit-plain-text-10350169180746710418
Closed

🎨 Palette: Enforce plain text pasting in QTextEdit fields#223
dieterolson wants to merge 2 commits into
mainfrom
palette-qtextedit-plain-text-10350169180746710418

Conversation

@dieterolson

Copy link
Copy Markdown
Contributor

🎨 Palette: Enforce plain text pasting in QTextEdit fields

πŸ’‘ What

Added .setAcceptRichText(False) to the QTextEdit widgets used for the chat history display, setup dialog logs, hub dialog logs, and the system prompt settings input.

🎯 Why

By default, PyQt's QTextEdit accepts rich text and HTML formatting. If a user pastes text copied from a web browser into the System Prompt field, the pasted text retains its original fonts, colors, and background styling, breaking the application's visual theme and creating a messy user experience. Disabling rich text acceptance forces all pasted input to be converted to plain text, preserving a consistent UI.

πŸ“Έ Before/After

  • Before: Pasting a copied header from a website into the System Prompt box would insert large, bold, blue text.
  • After: Pasting the same text now inserts standard, unformatted plain text that matches the application's Consolas font and Catppuccin theme colors.

β™Ώ Accessibility

Ensuring a consistent font size and color scheme for all text input improves readability, particularly for users who rely on the high-contrast or predictable theme colors provided by the UI.


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

By default, QTextEdit in PyQt6 accepts rich text (HTML). When users copy
and paste text from the web (e.g., into the System Prompt input, or if
they manage to paste into read-only logs), it brings along arbitrary fonts,
sizes, and colors, which creates a messy UI.

Adding `setAcceptRichText(False)` to these widgets ensures that all pasted
content is automatically stripped to plain text, maintaining consistent
visual formatting and preventing potential UI redressing.

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.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

⚠️ SPEC.md Update Required

Source files were modified in this PR but SPEC.md was not updated.

Per the Specification-Driven Development Policy:

  • Any PR that adds, removes, or changes functionality must update SPEC.md
  • Update the relevant sections (features, architecture, tests, dependencies, etc.)
  • Bump the Spec Version if making substantive changes

To resolve:

  1. Update SPEC.md to reflect your changes, OR
  2. Add the spec-exempt label if this PR genuinely doesn't affect the spec (e.g., pure refactor with no behavior change)

This check is enforced by the spec-check CI workflow.

To comply with the repository's Specification-Driven Development policy,
the SPEC.md file has been updated to reflect the previous UX improvement.
The "UX Updates" section now details that `.setAcceptRichText(False)` was
applied to `QTextEdit` widgets to enforce plain text pasting and prevent
unintended rich text/HTML injection into the UI.

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

Copy link
Copy Markdown
Contributor Author

Closing in favor of consolidated batch PR #227.

auto-merge was automatically disabled August 11, 2026 05:58

Pull request was closed

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