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: [touch] Optimize drag in touch. #2534

Conversation

GongHeng2017
Copy link
Contributor

When touch screen drag and drop, it takes about 1 second to trigger the drag issue according to the icon. Optimizing the time take.

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

@deepin-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: GongHeng2017

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

@GongHeng2017 GongHeng2017 force-pushed the 20250102-eagle-fixTouchDrag branch from ec6e342 to 5812037 Compare January 2, 2025 05:40
@GongHeng2017 GongHeng2017 force-pushed the 20250102-eagle-fixTouchDrag branch 2 times, most recently from ec6e342 to c64d48b Compare January 2, 2025 07:25
Copy link
Contributor

@Johnson-zs Johnson-zs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

桌面整理不考虑吗?

@GongHeng2017 GongHeng2017 force-pushed the 20250102-eagle-fixTouchDrag branch 2 times, most recently from ceefffb to c5a4cd1 Compare January 2, 2025 13:04
@Johnson-zs Johnson-zs force-pushed the 20250102-eagle-fixTouchDrag branch from c5a4cd1 to b6428c2 Compare January 3, 2025 00:49
@GongHeng2017 GongHeng2017 force-pushed the 20250102-eagle-fixTouchDrag branch from b6428c2 to cb71025 Compare January 3, 2025 01:54
When touch screen drag and drop, it takes about 1 second to trigger the drag issue according to the icon.
Optimizing the time take.

Log: fix issue
Bug: https://pms.uniontech.com/bug-view-298333.html
@Johnson-zs Johnson-zs force-pushed the 20250102-eagle-fixTouchDrag branch from cb71025 to 4671c30 Compare January 3, 2025 05:57
@deepin-ci-robot
Copy link

deepin pr auto review

代码审查意见:

  1. 常量定义

    • 在多个文件中定义了相同的常量 kStartDragDistance,建议将其提取到一个公共头文件中,以避免重复定义。
  2. 代码重复

    • CanvasViewCollectionViewFileView 中都有类似的触摸拖动逻辑,可以考虑将这部分逻辑提取到一个公共基类或函数中,以减少代码重复。
  3. 触摸拖动逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的逻辑是相似的,但实现方式略有不同。建议统一实现方式,以提高代码的可读性和可维护性。
  4. 触摸拖动距离

    • kStartDragDistance 的值在三个文件中都是相同的,但定义位置不同。建议将其定义在公共头文件中,以保持一致性。
  5. 触摸拖动状态

    • CanvasViewCollectionViewFileView 中,触摸拖动的状态(isTouchDrag)在 mousePressEventmouseMoveEvent 中被设置和检查。建议将这些状态检查逻辑封装到一个公共函数中,以提高代码的可读性。
  6. 触摸拖动距离计算

    • CanvasViewCollectionViewFileView 中,触摸拖动的距离计算逻辑是相同的。建议将其封装到一个公共函数中,以提高代码的可读性。
  7. 触摸拖动事件源

    • CanvasViewCollectionViewFileView 中,触摸拖动事件源(event->source() == Qt::MouseEventSynthesizedByQt)被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  8. 触摸拖动开始条件

    • CanvasViewCollectionViewFileView 中,触摸拖动的开始条件(event->button() == Qt::LeftButtonindex.isValid())被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  9. 触摸拖动距离判断

    • CanvasViewCollectionViewFileView 中,触摸拖动的距离判断(distance.manhattanLength() > kStartDragDistance)被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  10. 触摸拖动开始

    • CanvasViewCollectionViewFileView 中,触摸拖动的开始(startDrag(Qt::MoveAction))被多次调用。建议将其封装到一个公共函数中,以提高代码的可读性。
  11. 触摸拖动结束

    • CanvasViewCollectionViewFileView 中,触摸拖动的结束(d->isTouchDrag = false)被多次调用。建议将其封装到一个公共函数中,以提高代码的可读性。
  12. 触摸拖动定时器

    • CanvasViewCollectionViewFileView 中,触摸拖动的定时器(touchDragTimer)被多次设置和启动。建议将其封装到一个公共函数中,以提高代码的可读性。
  13. 触摸拖动延迟

    • CanvasViewCollectionViewFileView 中,触摸拖动的延迟(touchFlickBeginMoveDelay)被多次检查和设置。建议将其封装到一个公共函数中,以提高代码的可读性。
  14. 触摸拖动配置

    • CanvasViewCollectionViewFileView 中,触摸拖动的配置(themeSettings)被多次检查和设置。建议将其封装到一个公共函数中,以提高代码的可读性。
  15. 触摸拖动停止

    • CanvasViewCollectionViewFileView 中,触摸拖动的停止(touchDragTimer.stop())被多次调用。建议将其封装到一个公共函数中,以提高代码的可读性。
  16. 触摸拖动检查

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查(d->viewSetting->checkTouchDrag(event))被多次调用。建议将其封装到一个公共函数中,以提高代码的可读性。
  17. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  18. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  19. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  20. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  21. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  22. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  23. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  24. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  25. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  26. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  27. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  28. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  29. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  30. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  31. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  32. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  33. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  34. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  35. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  36. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  37. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  38. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  39. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  40. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  41. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  42. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  43. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  44. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  45. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  46. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  47. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  48. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  49. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  50. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  51. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  52. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  53. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  54. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  55. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && event->button() == Qt::LeftButton && index.isValid()))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  56. 触摸拖动检查逻辑

    • CanvasViewCollectionViewFileView 中,触摸拖动的检查逻辑(if (event->source() == Qt::MouseEventSynthesizedByQt && d->isTouchDrag))被多次检查。建议将其封装到一个公共函数中,以提高代码的可读性。
  57. **触摸拖动

@Johnson-zs
Copy link
Contributor

/forcemerge

@deepin-bot
Copy link
Contributor

deepin-bot bot commented Jan 6, 2025

This pr force merged! (status: blocked)

@deepin-bot deepin-bot bot merged commit 695c7d8 into linuxdeepin:release/eagle Jan 6, 2025
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