Skip to content

fix(keyboard): 缩略图面板 viewport 焦点被重置导致键盘翻页失效#285

Merged
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
JWWTSL:master
Jun 24, 2026
Merged

fix(keyboard): 缩略图面板 viewport 焦点被重置导致键盘翻页失效#285
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
JWWTSL:master

Conversation

@JWWTSL

@JWWTSL JWWTSL commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

log:

  • SideBarImageListView: 给 viewport 设置 objectName,避免 setObjectNoFocusPolicy 将其重置为 NoFocus,使点击缩略图后 Up/Down/PageUp/PageDown 键盘事件正确由列表视图处理而非穿透到文档视图

pms: bug-362813

log:
- SideBarImageListView: 给 viewport 设置 objectName,避免
  setObjectNoFocusPolicy 将其重置为 NoFocus,使点击缩略图后
  Up/Down/PageUp/PageDown 键盘事件正确由列表视图处理而非穿透到文档视图

pms: bug-362813

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

Sorry @JWWTSL, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@deepin-ci-robot

Copy link
Copy Markdown

deepin pr auto review

★ 总体评分:100分

■ 【总体评价】

代码实现了为视图视口添加对象名称以支持QSS样式定制,逻辑清晰且完全正确
无任何语法、质量、性能及安全问题,符合满分标准

■ 【详细分析】

  • 1.语法逻辑(完全正确)✓

在SideBarImageListView::SideBarImageListView构造函数中调用viewport()->setObjectName,语法完全正确。QAbstractItemView在构造时已确保viewport()返回有效的QWidget指针,不存在空指针解引用风险

  • 2.代码质量(良好)✓

对象名称sideBarImageListViewViewport语义清晰,与当前类的objectName保持一致的命名风格,能够准确表达其所属关系与作用,便于后续QSS维护

  • 3.代码性能(高效)✓

仅执行一次QString赋值操作及普通成员函数调用,无额外内存分配或系统开销,无性能问题

  • 4.代码安全(存在0个安全漏洞)✓

漏洞对比统计:新增漏洞 0 个,减少漏洞 0 个,持平 0 个
该操作仅限于UI组件对象名称的字符串设置,不涉及外部输入处理、文件操作、命令执行或内存越界,完全安全

  • 建议:保持现有安全编码习惯

■ 【改进建议代码示例】

diff --git a/reader/sidebar/SideBarImageListview.cpp b/reader/sidebar/SideBarImageListview.cpp
index 8040d84d..7af1f7b3 100644
--- a/reader/sidebar/SideBarImageListview.cpp
+++ b/reader/sidebar/SideBarImageListview.cpp
@@ -28,6 +28,7 @@ SideBarImageListView::SideBarImageListView(DocSheet *sheet, QWidget *parent)
     setSpacing(4);
     setObjectName("sideBarImageListView");
     setFocusPolicy(Qt::ClickFocus);
+    viewport()->setObjectName("sideBarImageListViewViewport");
     setFrameShape(QFrame::NoFrame);
     setSelectionMode(QAbstractItemView::SingleSelection);
     setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: JWWTSL, lzwind

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

@JWWTSL

JWWTSL commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

/forcemerge

@deepin-bot

deepin-bot Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

This pr force merged! (status: unstable)

@deepin-bot deepin-bot Bot merged commit dbd111b into linuxdeepin:master Jun 24, 2026
11 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