fix(authentication): fix background persisting and buttons misalignment after cancel rename#3248
fix(authentication): fix background persisting and buttons misalignment after cancel rename#324852cyb wants to merge 1 commit into
Conversation
|
[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. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
…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.提示文案的显示效果和位置正确。
|
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 Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions 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. |
Reviewer's GuideRefactors the authentication name edit field to use D.LineEdit with D.EditPanel for built‑in alert handling and focus management, fixing the lingering red background and ensuring action buttons remain right-aligned after canceling rename validation. Sequence diagram for updated rename validation and alert handlingsequenceDiagram
actor User
participant EditButton as EditButton
participant LineEdit as nameEditor_D_LineEdit
participant EditPanel as nameEditPanel_D_EditPanel
participant Layout as layout
User->>EditButton: onClicked
EditButton->>LineEdit: readOnly = false
EditButton->>LineEdit: forceActiveFocus()
User->>LineEdit: onTextEdited
LineEdit->>EditPanel: showAlert = false
LineEdit->>LineEdit: filter text / enforce maxLength
alt [text length > maxLength]
LineEdit->>EditPanel: showAlert = true
LineEdit->>EditPanel: alertText = qsTr("No more than 15 characters")
end
User->>LineEdit: onEditingFinished
alt [readOnly]
LineEdit-->>User: return (no change)
else [!checkInputInvalid()]
LineEdit->>EditPanel: showAlert = false
LineEdit->>LineEdit: text = modelData
LineEdit->>LineEdit: text = Qt.binding(modelData)
else [checkInputInvalid()]
LineEdit->>LineEdit: readOnly = true
alt [modelData != text]
LineEdit->>Layout: requestRename(modelData, text)
end
LineEdit->>LineEdit: text = Qt.binding(modelData)
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The validation logic in
checkInputInvalidis tightly coupled tonameEditorand duplicated betweenonTextEditedand the function; consider centralizing the validation (including maxLength and illegal-character checks) into a single helper to avoid divergence and make future changes safer. - When cancelling or resetting the edit (e.g. on invalid input), you rebind
nameEditor.texttomodelDatabut leavereadOnlyand focus handling spread acrossonEditingFinishedand the action button; consolidating the state reset into a small helper (resetReadOnly/resetToModelData) would make the rename lifecycle easier to follow and less error‑prone. - Right now alerts are shown and hidden by directly toggling
nameEditPanel.showAlertin several places; you might want a small wrapper function (e.g.showAlert(msg)/clearAlert()) to avoid repeating the pattern and ensure all call sites behave consistently when alerts are dismissed or editing restarts.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The validation logic in `checkInputInvalid` is tightly coupled to `nameEditor` and duplicated between `onTextEdited` and the function; consider centralizing the validation (including maxLength and illegal-character checks) into a single helper to avoid divergence and make future changes safer.
- When cancelling or resetting the edit (e.g. on invalid input), you rebind `nameEditor.text` to `modelData` but leave `readOnly` and focus handling spread across `onEditingFinished` and the action button; consolidating the state reset into a small helper (resetReadOnly/resetToModelData) would make the rename lifecycle easier to follow and less error‑prone.
- Right now alerts are shown and hidden by directly toggling `nameEditPanel.showAlert` in several places; you might want a small wrapper function (e.g. `showAlert(msg)` / `clearAlert()`) to avoid repeating the pattern and ensure all call sites behave consistently when alerts are dismissed or editing restarts.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
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
Improve the authentication rename field to use standard input components with integrated validation and alert handling.
New Features:
Bug Fixes:
Enhancements: