Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: adjust scroll behavior in different view modes #2450

Merged
merged 1 commit into from
Dec 3, 2024

Conversation

Lighto-Ku
Copy link
Contributor

  1. Set verticalOffset to 0 in icon mode since vertical scrolling is not needed
  2. Add horizontal scroll offset adjustment for list/tree mode
  3. Calculate correct content height for list/tree mode to ensure proper scrolling

Log: fix list view issue
Bug: https://pms.uniontech.com/bug-view-291285.html

1. Set verticalOffset to 0 in icon mode since vertical scrolling is not needed
2. Add horizontal scroll offset adjustment for list/tree mode
3. Calculate correct content height for list/tree mode to ensure proper scrolling

Log: fix list view issue
Bug: https://pms.uniontech.com/bug-view-291285.html
@deepin-ci-robot
Copy link

deepin pr auto review

代码审查意见:

  1. fileview.cpp文件中,新增的totalHeight变量在isIconViewMode分支中初始化,但在else分支中并没有使用。如果else分支不需要这个变量,建议删除以避免混淆。

  2. updateGeometries函数中,totalHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),而在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  3. visualRect函数中,rect.moveLeft(rect.left() - horizontalScrollBar()->value());这行代码可能会影响视图的布局,特别是在滚动条滚动时。建议确认这一改动是否符合预期,并确保不会导致布局问题。

  4. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  5. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  6. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  7. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  8. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  9. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  10. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  11. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  12. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  13. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  14. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  15. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  16. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  17. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  18. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  19. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  20. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  21. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  22. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  23. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  24. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  25. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  26. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  27. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  28. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  29. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  30. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  31. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  32. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  33. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  34. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  35. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  36. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  37. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  38. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  39. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  40. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  41. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  42. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  43. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  44. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  45. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  46. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  47. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  48. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  49. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  50. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  51. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  52. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  53. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  54. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  55. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  56. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  57. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  58. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  59. updateGeometries函数中,resizeContents函数的第二个参数使用了totalHeight变量,但没有对totalHeight进行初始化。建议在调用resizeContents函数之前对totalHeight进行初始化,以避免潜在的未定义行为。

  60. updateGeometries函数中,resizeContents函数被调用了两次,一次是在isIconViewMode分支中,另一次是在else分支中。如果这两个分支的逻辑是独立的,建议将它们合并,以减少代码重复。

  61. updateGeometries函数中,d->lastContentHeight变量在isIconViewMode分支中被赋值为contentsSize().height(),但在else分支中被赋值为totalHeight。这两个赋值操作似乎没有逻辑上的关联,建议检查是否需要合并或调整逻辑。

  62. updateGeometries函数中,totalHeight变量在else分支中被赋值为listHeight > contentHeight ? listHeight : contentHeight,但没有对listHeightcontentHeight进行初始化。建议在赋值之前对这两个变量进行初始化,以避免潜在的未定义行为。

  63. updateGeometries函数中

@deepin-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Johnson-zs, Lighto-Ku

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

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

@Johnson-zs
Copy link
Contributor

/forcemerge

@deepin-bot
Copy link
Contributor

deepin-bot bot commented Dec 3, 2024

This pr force merged! (status: blocked)

@deepin-bot deepin-bot bot merged commit 9a53f09 into linuxdeepin:master Dec 3, 2024
18 of 20 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