Skip to content

feat(ui): update button appearance by setting ColorSelector inactive state#237

Closed
add-uos wants to merge 1 commit into
linuxdeepin:masterfrom
add-uos:master
Closed

feat(ui): update button appearance by setting ColorSelector inactive state#237
add-uos wants to merge 1 commit into
linuxdeepin:masterfrom
add-uos:master

Conversation

@add-uos
Copy link
Copy Markdown
Contributor

@add-uos add-uos commented Feb 11, 2026

Set D.ColorSelector.inactived: false on buttons and input fields across update module QML files to ensure consistent visual appearance and prevent unintended inactive styling.

log: button appearance by setting ColorSelector inactive state
bug: PMS-298841

@deepin-ci-robot
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: add-uos

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

…state

Set D.ColorSelector.inactived: false on buttons and input fields
across update module QML files to ensure consistent visual
appearance and prevent unintended inactive styling.

log: button appearance by setting ColorSelector inactive state
bug: PMS-298841
@add-uos add-uos changed the title feat: update button appearance by setting ColorSelector inactive state feat(ui): update button appearance by setting ColorSelector inactive state Feb 11, 2026
@deepin-ci-robot
Copy link
Copy Markdown

deepin pr auto review

这段代码主要是在多个QML文件中为各种UI控件(如Button、ToolButton、LineEdit等)添加了属性 D.ColorSelector.inactived: false。以下是对这段diff的审查意见:

1. 语法逻辑

  • 语法正确性:从语法角度看,添加的属性绑定是合法的QML语法。如果 D.ColorSelector 是一个已定义的附加属性(Attached Property),且支持 inactived 属性,那么代码在语法上没有问题。
  • 拼写问题:属性名 inactived 看起来像是一个拼写错误。标准的英文单词应该是 "inactive"(形容词)或 "inactivated"(动词的过去分词)。建议确认这是否是DTK(Deepin Tool Kit)框架中定义的特定属性名,如果是拼写错误,应修正为 inactiveinactiveEnabled(视具体API而定)。

2. 代码质量

  • 重复代码:这个修改在多个文件中重复出现,且逻辑完全相同。如果这是为了统一禁用某种全局样式或行为(例如禁用控件的非活动态颜色选择),建议在更高层级的组件或样式文件中进行统一设置,而不是在每个控件上单独添加。这样可以减少维护成本,避免遗漏。
  • 可读性:属性 D.ColorSelector.inactived: false 的含义不够直观。建议添加注释说明其作用,例如:
    // 禁用非活动状态下的颜色选择,保持控件颜色一致
    D.ColorSelector.inactived: false

3. 代码性能

  • 性能影响:由于只是添加了一个静态属性绑定,对性能的影响微乎其微。但如果 D.ColorSelectorinactived 属性是一个复杂的计算属性,且在大量控件中使用,可能会带来轻微的性能开销。建议确认该属性是否为简单的布尔值。

4. 代码安全

  • 兼容性:需要确认 D.ColorSelector.inactived 在所有支持的DTK版本中都可用。如果这是一个新增的API,可能会导致在旧版本的DTK上运行时出现属性未定义的错误。建议添加版本检查或条件判断:
    D.ColorSelector.inactived: Qt.styleHints.colorScheme === Qt.Light ? false : true
    (具体逻辑需根据实际需求调整)

5. 改进建议

  1. 确认属性名:检查 inactived 是否为拼写错误,如果是,修正为正确的属性名。
  2. 统一设置:如果这个属性需要在多个控件中统一设置,建议在控件的基类或样式文件中定义,避免重复代码。
  3. 添加注释:为该属性添加注释,说明其作用和适用场景。
  4. 版本兼容性:确保该属性在目标DTK版本中可用,必要时添加版本检查。

6. 示例改进代码

假设 inactived 是拼写错误,正确的属性名是 inactive,且需要在多个控件中统一设置,可以改进如下:

// 在全局样式文件中定义
pragma Singleton
import Dtk 1.0

QtObject {
    property bool disableInactiveColor: false
}

// 在控件中使用
D.Button {
    D.ColorSelector.inactive: globalStyle.disableInactiveColor
    // 其他属性...
}

总结

这段代码的修改在语法和逻辑上没有明显问题,但存在潜在的可维护性和命名规范问题。建议确认属性名的正确性,并考虑将重复的属性绑定提升到更高层级以减少代码重复。

@18202781743
Copy link
Copy Markdown
Contributor

18202781743 commented Feb 24, 2026

这个pr是不是可以关闭了,应该不需要在插件单独处理,
linuxdeepin/dtkdeclarative#573

@add-uos add-uos closed this Feb 24, 2026
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