Skip to content

Conversation

@dengzhongyuan365-dev
Copy link
Contributor

  • Added isV5() method to OCREngine to check if V5 plugin is loaded
  • Set m_isV5 flag when OCR V5 plugin loads successfully
  • Hide language selection UI when V5 plugin is active, use default language instead
  • Fixed code style: adjusted if-else formatting for consistency
  • Added bounds checking for language index map lookup

Log: Hide language selector for OCR V5 plugin

bug: https://pms.uniontech.com/bug-view-342351.html

- Added isV5() method to OCREngine to check if V5 plugin is loaded
- Set m_isV5 flag when OCR V5 plugin loads successfully
- Hide language selection UI when V5 plugin is active, use default language instead
- Fixed code style: adjusted if-else formatting for consistency
- Added bounds checking for language index map lookup

Log: Hide language selector for OCR V5 plugin

bug: https://pms.uniontech.com/bug-view-342351.html
@deepin-ci-robot
Copy link

deepin pr auto review

我来对这个diff进行代码审查:

  1. 语法逻辑改进:
  • 在OCREngine.cpp中,if-else的格式统一调整了空格,符合代码规范。
  • 在mainwidget.cpp中,增加了对languageIndexMap.find()的检查,避免了可能的越界访问,这是一个很好的改进。
  1. 代码质量改进:
  • 新增的isV5()方法提供了良好的封装性,符合面向对象设计原则。
  • mainwidget.cpp中根据V5插件状态进行条件判断的逻辑清晰,提高了代码的可维护性。
  • 对语言选择控件的显示控制更加合理,V5插件时隐藏语言选择是符合需求的改进。
  1. 代码性能改进:
  • 使用std::map进行语言映射查找,时间复杂度为O(log n),效率较高。
  • 在V5插件情况下,避免了不必要的UI控件创建,减少了内存占用。
  1. 代码安全改进:
  • 增加了对currentLanguage在languageIndexMap中是否存在的检查,避免了潜在的越界访问风险。
  • 使用成员变量m_isV5来标记插件版本,而不是重复检查,提高了代码的可靠性。

建议的进一步改进:

  1. 在OCREngine.h中,可以考虑将m_isV5声明为atomic_bool,因为该成员可能被多个线程访问。
  2. 在mainwidget.cpp中,可以将语言映射关系提取为类的静态成员,便于统一管理。
  3. 考虑为语言设置添加错误处理机制,当设置失败时提供用户友好的提示。
  4. 可以考虑将语言相关的字符串常量提取为宏或常量定义,便于维护。

总体来说,这个改动是积极的,提高了代码的健壮性和可维护性。

@deepin-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: dengzhongyuan365-dev, 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

@dengzhongyuan365-dev
Copy link
Contributor Author

/merge

@deepin-bot deepin-bot bot merged commit e8c0b5b into linuxdeepin:master Dec 2, 2025
17 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