Skip to content

fix: adjust boot menu auth dialog layout to design spec - #3589

Merged
wjyrich merged 1 commit into
linuxdeepin:masterfrom
wjyrich:agent/pms-bug-bot/bb1e0f2d585a
Nov 5, 2026
Merged

wjyrich merged 1 commit into
linuxdeepin:masterfrom
wjyrich:agent/pms-bug-bot/bb1e0f2d585a

Conversation

@wjyrich

@wjyrich wjyrich commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Root Cause Analysis

The passwordDlg dialog in BootPage.qml used hardcoded layout values that did not match the design specification. The title font was T5 instead of T6, title top margin was 10px instead of 50px, input boxes lacked 6px left/right margins, the button row lacked 6px spacing and margins, and the last password field was 15px above the button row instead of 20px. Key evidence: BootPage.qml:440 confirms font: DTK.fontManager.t5; BootPage.qml:434 confirms Layout.topMargin: 10; BootPage.qml:610-614 confirms no spacing or left/right margins on the button RowLayout.

Fix

Changed title font from T5 to T6, title top margin from 10 to 50, added 6px left/right margins to input boxes and button row, unified label left margins to 6, changed button row top margin from 15 to 20 with 6px spacing, and adjusted button width from 170 to 171 to fit the 360px dialog width.

Change Safety Assessment

Code Safety

  • Risk Level: Low
  • This is a pure QML layout parameter change (font size, margins, spacing) with no logic or API impact.
  • No external references to passwordDlg found; changes are isolated to the boot menu auth dialog visual layout.

Business Impact Scope

Only affects the visual layout of the boot menu authentication dialog (password set/modify) in Control Center → System → Boot Menu. No functional logic changes.

Verification Suggestion

Open the boot menu auth dialog and verify: title uses T6 font, 50px from top, input boxes have 6px left/right margins, buttons have 6px spacing and 6px margins from dialog edges, last password field is 20px above button row.


根因分析

BootPage.qml 中 passwordDlg 对话框的 QML 布局参数使用了硬编码值,与设计规范不符。标题字号为 T5(应为 T6),标题顶部间距为 10px(应为 50px),输入框缺少左右 6px 边距,按钮行缺少 6px 间距和边距,最后一行密码距底部按钮行间距为 15px(应为 20px)。关键证据:BootPage.qml:440 确认 font 为 t5;BootPage.qml:434 确认 topMargin 为 10;BootPage.qml:610-614 确认 RowLayout 无 spacing 和左右边距。

修复方案

将标题字号从 t5 改为 t6,标题顶部边距从 10 改为 50,输入框和按钮行添加 6px 左右边距,标签左边距统一为 6,按钮行顶部边距从 15 改为 20 并添加 6px 间距,按钮宽度从 170 调整为 171。

改动安全评估

代码安全评估

  • 风险等级: 低风险
  • 本次为纯 QML 布局参数调整(字号、边距、间距),不涉及逻辑或接口变更。
  • 未发现对 passwordDlg 的外部引用,改动仅影响启动菜单验证弹窗的视觉布局。

业务影响范围

仅影响控制中心 → 系统 → 启动菜单中启动菜单验证弹窗(密码设置/修改对话框)的视觉布局,不涉及功能逻辑变更。

验证建议

打开启动菜单验证弹窗,确认标题使用 T6 字号、距顶部 50px、输入框左右各 6px 边距、按钮间距 6px 且距弹窗边缘 6px、最后一行密码距按钮行 20px。

PMS: BUG-380355

Summary by Sourcery

Update the boot menu authentication dialog layout to match the approved visual design.

Bug Fixes:

  • Align the boot menu authentication dialog with the design specification by correcting its title typography and spacing.

Enhancements:

  • Refine the password dialog layout with consistent padding, label alignment, field-to-button spacing, and button spacing.

@sourcery-ai

sourcery-ai Bot commented Oct 28, 2026

Copy link
Copy Markdown

Reviewer's Guide

Updates the boot menu authentication dialog’s QML layout to match the design specification, changing typography, vertical spacing, horizontal margins, button spacing, and button widths without altering authentication logic or APIs.

File-Level Changes

Change Details Files
Align the authentication dialog title and content margins with the design specification.
  • Increase title top margin to 50px and switch its font from T5 to T6.
  • Normalize title and label horizontal margins to 6px.
  • Add 6px left/right margins to all password input fields.
src/plugin-commoninfo/qml/BootPage.qml
Adjust the dialog action row sizing and spacing for the target dialog width.
  • Set the button row top margin to 20px, add 6px side margins and 6px inter-button spacing.
  • Set both action buttons to a preferred width of 171px.
src/plugin-commoninfo/qml/BootPage.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

@sourcery-ai sourcery-ai 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.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

1. Root cause: previous fix used per-element leftMargin/rightMargin
   which caused right-side overflow when combined with DialogWindow's
   contentLoader margins; topMargin: 50 doubled the title bar height
2. Fix: override DialogWindow leftPadding/rightPadding to 6 for uniform
   spacing; set passwdTitle topMargin to 0 (title bar already 50px);
   remove redundant per-element left/right margins; restore button
   width to 170
3. Impact: only passwordDlg layout in BootPage.qml is affected, no
   functional changes

Log: fix boot menu auth dialog layout spacing and button sizing

Influence:
1. Test boot menu password dialog layout visually
2. Verify title spacing is 50px from window top
3. Verify input fields and buttons have 6px side margins
4. Verify confirm/cancel buttons have 6px spacing

fix: 调整启动菜单认证弹窗布局至设计规范

1. 根因:上次修复在各子元素上单独添加 leftMargin/rightMargin 导致
   与 DialogWindow contentLoader 边距叠加后右侧溢出;topMargin: 50
   与标题栏 50px 叠加导致上边距翻倍
2. 方案:覆盖 DialogWindow leftPadding/rightPadding 为 6 统一边距;
   passwdTitle topMargin 设为 0(标题栏已占 50px);移除子元素冗余
   左右边距;恢复按钮宽度为 170
3. 影响:仅影响 BootPage.qml 中 passwordDlg 的布局,无功能变化

Log: 修复启动菜单认证弹窗布局间距和按钮尺寸问题

Influence:
1. 测试启动菜单密码弹窗布局是否正确
2. 验证标题距窗口顶部 50px
3. 验证输入框和按钮左右边距为 6px
4. 验证确认/取消按钮间距为 6px

PMS: BUG-380355
@wjyrich
wjyrich force-pushed the agent/pms-bug-bot/bb1e0f2d585a branch from 627e52f to c53eb9a Compare October 28, 2026 06:49
@deepin-ci-robot

Copy link
Copy Markdown

deepin pr auto review

🤖 AI 代码审查报告

总体评分: 100 分 (通过阈值: 70分)

Pass


📊 总体评价

项目 结果
审查结论 代码审查通过
评分详情 本次提交是对启动菜单认证对话框的布局调整,修改符合设计规范要求,语法正确、逻辑清晰,无安全漏洞,代码质量良好,无性能影响。

🔍 详细分析

1. 语法逻辑 ✅

评价: 语法正确,逻辑清晰 ✅ 通过

潜在问题:
✅ 未发现明显问题

建议: []


2. 代码质量 ✅

评价: 代码结构清晰,注释完整 ✅ 通过

潜在问题:
✅ 未发现明显问题

建议: []


3. 代码性能 ✅

评价: 性能良好,资源使用合理 ✅ 通过

潜在问题:
✅ 未发现明显问题

建议: []


4. 代码安全 🔒

评价: 存在0个安全漏洞 ✅ 通过

🔐 发现 0 个安全漏洞

安全漏洞详情:
✅ 未发现安全漏洞

建议: []


💡 改进建议代码示例

本次变更无需修复,代码已符合规范。

本报告由 AI 代码审查工具自动生成

@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: MyLeeJiEun, wjyrich

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

@wjyrich
wjyrich merged commit 51f81b0 into linuxdeepin:master Nov 5, 2026
14 checks passed
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.

3 participants