Skip to content

fix(authentication): fix background persisting and buttons misalignment after cancel rename#3252

Open
52cyb wants to merge 1 commit into
linuxdeepin:masterfrom
52cyb:master
Open

fix(authentication): fix background persisting and buttons misalignment after cancel rename#3252
52cyb wants to merge 1 commit into
linuxdeepin:masterfrom
52cyb:master

Conversation

@52cyb
Copy link
Copy Markdown
Contributor

@52cyb 52cyb commented May 23, 2026

Replace manual Rectangle + TextInput with D.LineEdit + D.EditPanel to properly manage alert state, ensuring background resets when rename validation is canceled and buttons stay right-aligned.

替换手动Rectangle+TextInput为D.LineEdit+D.EditPanel,正确管理alert状态,确保取消重命名验证后背景复位,编辑按钮保持右对齐。

Log: 修复取消重命名后背景仍置红及编辑按钮偏左的问题
PMS: 361553
Influence: 1.关闭授权框后背景正确恢复;2.编辑按钮保持右对齐;3.提示文案的显示效果和位置正确。

Summary by Sourcery

Replace the custom text input rectangle with a D.LineEdit and D.EditPanel-based name editor to fix rename field alert handling and layout behavior in the authentication UI.

Bug Fixes:

  • Ensure the rename field background returns to normal after canceling or completing validation errors.
  • Keep the edit action buttons right-aligned when entering or canceling rename mode.
  • Display validation error messages for the rename field using the built-in alert mechanism of the edit panel, keeping text and tooltip positions consistent.

Enhancements:

  • Reuse the shared D.LineEdit and D.EditPanel components for the authentication name editor instead of a bespoke TextInput and Rectangle implementation.

…nt after cancel rename

Replace manual Rectangle + TextInput with D.LineEdit + D.EditPanel to properly manage alert state, ensuring background resets when rename validation is canceled and buttons stay right-aligned.

替换手动Rectangle+TextInput为D.LineEdit+D.EditPanel,正确管理alert状态,确保取消重命名验证后背景复位,编辑按钮保持右对齐。

Log: 修复取消重命名后背景仍置红及编辑按钮偏左的问题
PMS: 361553
Influence: 1.关闭授权框后背景正确恢复;2.编辑按钮保持右对齐;3.提示文案的显示效果和位置正确。
@deepin-ci-robot
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: 52cyb

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@deepin-ci-robot
Copy link
Copy Markdown

Hi @52cyb. Thanks for your PR.

I'm waiting for a linuxdeepin member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented May 23, 2026

Reviewer's Guide

Replaces the custom Rectangle/TextInput-based name editor and tooltip alert handling in AuthenticationMain.qml with D.LineEdit and D.EditPanel, centralizing validation and alert state so that rename cancellations reset the background and keep action buttons aligned.

File-Level Changes

Change Details Files
Refactor name editing UI to use D.LineEdit + D.EditPanel with integrated validation and alert display, fixing alert background persistence and button alignment.
  • Replace Rectangle + TextInput wrapper with D.LineEdit configured for read-only-by-default name display and editing
  • Introduce D.EditPanel as the LineEdit background, wiring alertDuration, transparent normal background, and alert text/visibility into the panel instead of a separate tooltip
  • Port and adapt inline validation logic (character filtering, length checks, emptiness, duplication) from the old TextInput to D.LineEdit handlers, toggling EditPanel.showAlert and alertText instead of using a D.AlertToolTip
  • Ensure editingFinished resets invalid text to modelData, restores readOnly, and rebinds text to the model, avoiding stale alert/background state after cancel
  • Update the rename action button handler to toggle nameEditor.readOnly and call forceActiveFocus() on the new LineEdit
src/plugin-authentication/qml/AuthenticationMain.qml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The alert handling logic (nameEditPanel.showAlert/alertText) is repeated in several places; consider extracting small helper functions (e.g. clearAlert() and showValidationError(msg)) to simplify and reduce duplication.
  • The checkInputInvalid() function mixes validation and UI side effects (mutating nameEditPanel), which makes it harder to reuse; consider returning a structured result (e.g. {valid: bool, message: string}) and letting the caller update the UI.
  • You are resetting nameEditor.text via Qt.binding in multiple branches in onEditingFinished; consider factoring this into a helper (e.g. resetToModelData()) to avoid repeating the same binding logic.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The alert handling logic (`nameEditPanel.showAlert`/`alertText`) is repeated in several places; consider extracting small helper functions (e.g. `clearAlert()` and `showValidationError(msg)`) to simplify and reduce duplication.
- The `checkInputInvalid()` function mixes validation and UI side effects (mutating `nameEditPanel`), which makes it harder to reuse; consider returning a structured result (e.g. `{valid: bool, message: string}`) and letting the caller update the UI.
- You are resetting `nameEditor.text` via `Qt.binding` in multiple branches in `onEditingFinished`; consider factoring this into a helper (e.g. `resetToModelData()`) to avoid repeating the same binding logic.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@deepin-bot
Copy link
Copy Markdown

deepin-bot Bot commented May 25, 2026

TAG Bot

New tag: 6.1.89
DISTRIBUTION: unstable
Suggest: synchronizing this PR through rebase #3253

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants