Commit Graph

72 Commits

Author SHA1 Message Date
yeshanshan 32d0f1ee53 fix: resolve Qt6 compatibility issues
1. Replace deprecated qAsConst with std::as_const for Qt6 compatibility
2. Update key sequence handling to use | operator instead of + for Qt6
3. Fix touch event handling for Qt6 API changes
4. Replace stateChanged with checkStateChanged for Qt6 checkbox signals
5. Add version checks for Qt6-specific API changes
6. Fix various other Qt6 deprecation warnings

These changes ensure the codebase works correctly with both Qt5 and
Qt6, addressing API changes and deprecations in Qt6 while maintaining
backward compatibility. Key technical changes include:
- Using Qt version checks for API differences
- Standardizing on newer APIs where possible
- Maintaining compatibility with both major Qt versions

fix: 解决Qt6兼容性问题

1. 使用std::as_const替代已弃用的qAsConst以兼容Qt6
2. 更新键序列处理,在Qt6中使用|运算符而非+
3. 修复Qt6中触摸事件处理的API变更
4. 将stateChanged替换为checkStateChanged以适配Qt6复选框信号
5. 添加Qt6特定API变更的版本检查
6. 修复其他Qt6弃用警告

这些修改确保代码库能正确工作在Qt5和Qt6环境下,解决了Qt6中的API变更和弃用
问题,同时保持向后兼容性。关键技术变更包括:
- 针对API差异使用Qt版本检查
- 尽可能标准化使用新API
- 保持对两个主要Qt版本的兼容性
2025-07-28 16:05:40 +08:00
wangfei 82e9562493 chore: Adapt to Qt 6.6.1
replace the obsolete interface

Log: Adapt to Qt 6.6.1
2024-03-06 11:50:54 +08:00
YeShanShan 0ba6eb1b3d feat: Add UT for DWaterMarkWidget
Add UT.
2023-09-07 12:12:10 +08:00
xzl 65308b9f3c fix: remove not working test case
Log:
2023-09-05 13:03:57 +08:00
ck f3d1a4423b feat: DFontSizeManager tweak
- add T11 (default 8 px)
- T5 17px ==> 16px

Issue: https://github.com/linuxdeepin/dtk/issues/116
2023-09-05 10:56:41 +08:00
xzl 72c59d8292 chore: add test for dwatermarkhelper
Log:
2023-08-18 15:37:01 +08:00
xzl 0312b95efa feat: add ut_dpalettehelper
Log:
2023-08-18 11:24:06 +08:00
YeShanShan 06f65568da feat: Add UT for DComboBox
Add UT.
2023-07-31 11:36:14 +08:00
xzl 8421ade36e fix: fix the bug of the test-recoverage.sh
Log:
2023-07-27 10:43:56 +08:00
xzl 5fc7371d91 feat: add some UT
Log:
2023-07-21 14:14:06 +08:00
xzl 49a0919930 fix: to fix unused qrc file in UT
Log:
2023-07-21 09:49:01 +08:00
xzl 28fe13924b fix: remove ut to support DTK6.0
Log: 移除了部分DTK6.0不支持的ut,以便通过编译,后续需要补充
2023-07-07 16:20:45 +08:00
heyuming 5a8a34a6c6 fix: fix compile error under qt6
Log: 修复Qt6下的编译错误
2023-06-21 17:01:10 +08:00
heyuming e19d7fbe7a fix: unit test error under qt5
Log: 修复qt5下单元测试的错误
2023-06-21 15:47:24 +08:00
wangyixue 5a11d970b1 fix: compile error of unit test
ut_dstyleditemdelegate.cpp does not using namespace Dtk::Gui; Add
this to it.

Log: fix compile error of unit test
2023-06-20 16:44:36 +08:00
heyuming 060450076f feat(build): support Qt6
Log: 支持Qt6
2023-06-16 17:32:43 +08:00
heyuming 2382ebaba2 fix: DApplication casting error
Log: 修复DApplication的转换错误
2023-06-14 10:09:43 +08:00
renbin cbd8237ed9 chore: DPrintPreviewDialog add update setting interface.
Add interface updateDialogSettingInfo, apps can update print dialog
settings at construction time.
Add docs and UT, fix a bug that may cause a memory leak.

Log: DPrintPreviewDialog add update setting interface.
Influence: Add update setting interface.
2023-03-10 09:27:36 +00:00
wangyixue d6b55d4121 refactor(cmake): improve cmake and add new feature
* remove redundant "dtkwidget" in include directory;
 * improve cmake, modify some variable names, use file() to collect
 source files for scalability;
 * add full target_link_libraries support.

Log: add full target_link_libraries support
Influence: all projects who include headers directly by path
2023-01-18 11:22:46 +08:00
ck 0386852043 feat: 自定义工具栏
1. 显示自定义工具栏;
2. 工具栏上调整控件位置;
3. 工具栏上添加和移除控件;
4. 恢复默认工具栏控件;
5. 工具栏生效。

Log: 添加自定义工具栏功能
Influence: none

Change-Id: Icb1d12d4c8881ace309e9b5cd5508bbca965c5fc
2023-01-17 16:47:22 +08:00
wang fei 217cfc5514 feat: 增加特性展示功能
1. 增加特性对话框类接口;
2. dapplication增加特性对话框相关接口;
3. 重新布局关于对话框;

Log: 新增特性介绍功能
Task: https://pms.uniontech.com/task-view-227391.html
Influence: 特性介绍,关于介绍
Change-Id: Ie6244bd313bb385846f4c5c066108b65f5afcb4f
2023-01-13 02:01:37 +00:00
renbin 30225aa55c feat: Add DImageViewer crop image function.
Add DImageViewer crop image function, DGraphicsCropItem class.
Add crop image unit test cases, update dox file comments.

Log: Add DImageViewer crop image function.
2022-12-08 14:08:41 +08:00
renbin b96acedda2 feat: Implements DImageViewer rotate, scale and gesture.
Implements the DImageViewer interface, including rotate, scale, gesture.
Add unit test cases and interface comment.

Log: Implements DImageViewer rotate, scale and gesture.
2022-12-02 05:43:40 +00:00
renbin a880020d62 feat: Implements DImageViewer set image and clear.
Implements the DImageViewer interface, including set image and clear.
And implements the DGraphicsitem classes, add unit test cases, update comment.

Log: Implements DImageViewer set image and clear.
2022-12-02 05:43:40 +00:00
Ye ShanShan 584fffef2d fix: UT error
we remove DStandardItem::clone due to incompatible in V23,
item->clone() call QStandardItem's function actually, so it
isn't a DStandardItem, but the clone's intention need to be test.
  it doesn't need to cherry-pick to master.

Log: 单元测试失败
Bug: https://pms.uniontech.com/bug-view-156901.html
Influence: 无
Change-Id: Ibac6bc721104bb0bc2f16c3a63a12fbc20e88f22
2022-10-10 09:51:43 +08:00
chenhongtao 57f2ad7713 fix(shell): wrong target
A mistake, since the target name changed, the target name in shell
should also change

Log: fix recoveryshell
2022-09-06 14:13:47 +08:00
chenhongtao 849dad5b1c chore(optionname): change optionname to better one
change the option name

now can use cmake command "ctest" to run tests

Log: change option name and etc
2022-09-02 06:06:00 +00:00
chenhongtao f80f48076e feat(cmake): to cmake
from qmake to cmake

Log: tocmake
2022-08-19 17:18:33 +08:00
xzl 8d8912b04f chore: adapt REUSE license header
修改为开源合规

Log: 修改项目合规
2022-08-11 05:02:57 +00:00
Ye ShanShan 431f6730b8 fix: crashed when DListView drag item with Action
DStandardItem's `setActionList` can't be used with drag because of
Type doesn't support metatype's save and load.
  and DStandardItem doesn't release it's Action when destruction,
we use sharedpointer to manager action's life.
  Add clone override function to support that action can be access
after draged, and it need to setItemPrototype by model.

Log: 含有Action项的DListView拖动时程序崩溃
Influence: none
Change-Id: Idc489b94f4cf95850fe00a9ac8231fed80913a79
2022-07-29 00:34:15 +00:00
Ye ShanShan 08ca143ca1 feat: Add EventLoop for ut
Add EventLoop for ut, it's useful in some scene, for example,
when deleteLater called but we need check QPointer's value now.

Log: all ut run in event loop
Influence: none
Change-Id: I1f35069215d5a6beba51c1aa1dd21f51d2e582a3
2022-07-28 17:28:50 +08:00
Ye ShanShan 08073c4ed4 chore: DFlowLayout's ut error
ut error

Log: 
Influence: none
Change-Id: I4b3ff97e9588ff7678f74218c21f440270893042
2022-07-19 10:56:30 +08:00
AlexOne 3fceb6325c chore: 按照要求修改单元测试文件名
按照要求修改单元测试文件名

Log:
Influence: none
Change-Id: I2804c65f306111397f43c1c780d19ca23e1cbdbc
2022-02-18 17:38:44 +08:00
AlexOne 2e5fb3280c chore: 修改单元测试生成目录
修改单元测试相关文件的目录结构

Log:
Influence: 单元测试目录结构
Change-Id: I4685e03a884eec2c876fc483748f9b169e0d4d40
2022-02-18 11:09:02 +08:00
ck e0e0f17c2f fix: ut memory leaks
ut 内存泄露问题修复

Log:
Influence: ut
Change-Id: Ifd93a54bb7c7cc050b92ade880f4adc307b70266
2021-11-22 14:55:54 +08:00
ck 50604361cf chore: 单元测试在crp上mips架构打包失败
错误信息如下:
qemu: uncaught target signal 4 (Illegal instruction) - core dumped
make[2]: *** [Makefile:352: check] Illegal instruction

Log: 
Influence: 单元测试在crp上mips架构打包失败
Change-Id: I4f1a08f04596c856829db593aec4a0691100e486
2021-11-05 15:07:29 +08:00
Wang Penga e5bebed8d4 feat: 添加 DPasswordEdit 的复制剪切控制接口
添加copy、cut的接口以打开或关闭lineedit的复制剪切功能。
默认passwordedit不禁用复制剪切,需要应用自行调用。

Log:
Task: https://pms.uniontech.com/zentao/task-view-86148.html
Change-Id: I88512e8bb584d018e7a79f8a94e7807d8061cc9a
2021-10-12 12:28:52 +08:00
Ye ShanShan 00d1254980 fix: 修改ut_dmpriscontrol偶发失败的问题
DMPRISControl会监控music服务,当music应用运行时,dbus服务启动,
isWorking为true。

Log: 
Change-Id: I52e41eaa38b0b9dec4b6daeb0be7209dd1a9efa2
(cherry picked from commit 2f27b29e6eb8532ec8070eb53677a040dac33111)
2021-09-14 13:39:44 +08:00
ck 32d334cdba fix(tests): remove gmock link
单元测试没有用到gmock,这里去掉链接gmock

Log:
Change-Id: If91d3ffa9ead5698b2cb78bb811a76ff0af30bed
(cherry picked from commit 4a3b38a5e0)
2021-09-08 10:51:51 +08:00
wangfei 5359e3800c fix: 根据编译警告修改代码,去除warning警告
1.未使用变量加上Q_UNUSED宏;
2.增加一条返回控制流,去除返回类型不匹配警告;
3.调整初始化列表顺序,保持和变量声明顺序一致;
4.增加override关键字;

Log: 修改相关代码,去除编译警告
Change-Id: I7f48d3f04dadf59d2963fabf406143bb331ec927
2021-09-06 16:03:15 +08:00
wangfei 354a11136e chore: 补充dclipeffectwidget、dipv4lineedit等widget单元测试
补充dclipeffectwidget、dipv4lineedit、dprogressbar
dsearchcombobox、dspinner、dstyleditemdelegate、
textedit和waterprogress单元测试,提高覆盖率。

Log:
Change-Id: Ib2a73c33d3b9866fc9ef87858fb4f07d1023bbff
(cherry picked from commit 50ae968ba3)
2021-09-03 13:38:33 +08:00
Ye ShanShan 7efd5d2f03 fix: 修改内存泄露问题
修改DAnchors和单元测试DListView的内存泄露问题。

Log: 
Change-Id: Ia1fde9a55fd37c2df080ea8e142ab6d1127c6628
(cherry picked from commit 95eb7a4218f43dd5c11cbaace4e1e30e3c52b2b5)
2021-08-26 10:20:22 +08:00
Ye ShanShan a1c10c2e07 chore: 添加单元测试
新增widgets简单接口的单元测试,以增加覆盖率
DToolButton单元测试适配maintain/5.4分支
去掉test.pro中链接libdtkwidget,因为已经以源码形式嵌入到test中,
否则make check时,运行会加载libdtkwidget.so,报Shadow 错误。
剩余未添加到接口类在testcases/widget.pri文件里以`#`注释来提示,之后继续添加。

Log: 
Change-Id: I0821b57b67f4636c3179e89a2f74ff2cbb60b588
(cherry picked from commit 3413572383da384df27be9d68a27ceb2d5604b20)
(cherry picked from commit eb952dc08f)
2021-08-26 09:50:33 +08:00
Wang Penga 294315b71d chore: add unit test
添加:
    DSlider
    DTipLabel
    DTitleBar
    DPushButton
    DWindowMaxButton
    DWindowMinButton
    DWindowCloseButton
    DWindowOptionButton
    DWindowQuitFullButton
    DArrowLineExpand
    DArrowLineDrawer
    DPageIndicator
    DIpv4LineEdit
    DShadowLine
    DTextEdit
    DSpinner

Log: 添加单元测试
Change-Id: Ibcec3471bffee9e9455e08543e082919c02265dc
(cherry picked from commit 3131d9900e)
2021-08-02 13:08:06 +08:00
Wang Penga dc038432be feat: Add unit tests
为以下模块添加单元测试:
    DBoxWidget
    DBlurEffectWidget
    DIconButton
    DToolButton
    DProgressBar
    DWaterProgress
    DAnchors
    DMainWindow
    DFloatingMessage
    DSwitchButton
    DWarningButton
    DSimpleListView
    DKeySequenceEdit

Log: 为部分组件添加单元测试
Change-Id: Ic2ed6be7e54101e856f286aec3a4c549e47aaac7
2021-07-26 11:06:20 +08:00
wangpenga 5147ac992c chore: asan无日志生成则添加空文件
没有任何内存泄露被检测到则添加空文件

Log: 修改脚本添加单元测试的 log report
Change-Id: I736264767a6f4734f0f22eb9d6215f67a13f2aea
2021-07-22 11:32:37 +08:00
wangpenga 79e87ab79b fix: 单元测试不能生成config文件编译失败
在单元测试中因为少加了 make qmake_all 的执行步骤导致未生成 config,编译失败。
将单元测试脚本的最新修改同步进来,添加了参数生成测试数据。

Log:
Change-Id: I62d304d138873bfd43dd50db0df4a24d1cf80cf6
2021-07-14 11:06:18 +08:00
ck 604c361b40 chore: master分支debug 模式下还是使用5.5的依赖
上游包整合之后dtkwidget的master分支编译无法通过。
改成debug模式时使用5.5的依赖

Log: 
Change-Id: I6eee0fb93481be6b8db6175416ec42e69ce13dad
2021-07-08 15:28:56 +08:00
Chen Bin 10c78c5761 feat: dtkwidget支持一包多依赖
1.使用dtkcommon的qmake配置函数,使dtkwidget能够同时支持
5和5.5等多个版本。
2. 修改control中的依赖文件,master上只依赖5的版本。

Log:
Change-Id: I63b3d3dbc4373c87af495b49696b96a297424ddc
2021-06-29 18:41:04 +08:00
Chen Bin a352e90e5e chore: 将master生成的库名修改为dtkwidget
从maintain/5.5中cp时由于dtkwidget依赖5.5的接口,因此名称改为5.5。
现将dtkwidget修改为原始名称,以适配master上游多依赖问题。

Log:
Change-Id: I0495cf47a882022c228ddbb90f6d608571794d33
2021-06-29 16:36:00 +08:00