Commit Graph

127 Commits

Author SHA1 Message Date
AlexOne a346d55489 fix: unit test failed, due to QDataStream set qt version.
单元测试里面的 datastream 设置了 qt 版本号导致单元测试失败。
在qt5.11下ok,社区版默认qt5.15。读写不同版本出错。

Log: 修复社区版下单元测试失败的问题
Influence: 
Change-Id: I4693070762b653373bf5a4fcac4598fca69f8356
(cherry picked from commit 0bc6f7572b)
2021-10-25 14:26:41 +08:00
AlexOne 71eabfd27f fix: 多次调用单例实例导致的应用启动不了
同一进程多次调用单例实例导致的应用启动不了。
主要在于应用使用旧的接口未更新,库的接口被依赖更新时发生的部分应用启动不了。

Influence: 所有 dtk 设置了单实例的应用

Log:
Change-Id: Ie7a97aec12ac584bbe8278c5144bc9288db614aa
2021-10-16 14:02:38 +08:00
Chen Bin acfd35c1af chore: 清除 QDoc 运行时的警告信息
1. 修改注释中错误的用法,以减少 QDoc 运行时的报错。
2. 对部分缺失注释的类添加注释。

Log:
(cherry picked from commit abd1a8d3e2)
Change-Id: Iade6b8c7409b801d240a3cef693f6d5448dfb343
2021-10-12 14:06:19 +08:00
Chen Bin 7143764031 docs: 更新dtkgui项目注释
1. 增加QDoc注释识别配置文件
2. 修改项目注释信息,使QDoc能够正确识别
3. 修改一些不规范的注释,调整部分注释内容
4. 将部分.h文件的注释信息迁移到.cpp文件中

Log: 更新项目注释信息
(cherry picked from commit ec1f342a38)
Change-Id: I12d830b31dc4a98d41d2cf880752af94a1979b09
2021-10-12 14:00:56 +08:00
ck f00c671a97 fix: UT的asan报告问题及部分失败的情况处理
1. 因为指针实在函数末尾释放的,如果中间出现失败退出函数将出现泄露。
此处改成栈变量(或者智能指针维护)。
2. DForeignWindow::fromWinId可能失败的情况适配。

Log:
Change-Id: I5e057978745b7eb9ae68c2a24220222bb9a673d6
2021-09-06 13:20:26 +08:00
Wang Penga acb20f1443 fix: ci 上单元测试未打开
打开ci上的单元测试

Log: 打开ci上的单元测试
Change-Id: I60f867833b092efde7d30384224993f984446ef7
2021-09-02 13:13:58 +08:00
ck 3f68ce9e73 fix: nativesettings ut failed
加上等待信号触发超时1s,默认指定XDG_CURRENT_DESKTOP=Deepin防止dxcb未加载。

Log:
Change-Id: I3532093d97222c8fec0e6d1e525b0886409fa1cb
2021-09-01 15:31:40 +08:00
Wang Penga f003d8d93d chore: add unit test fo DGuiApplicationHelper
添加 DGuiApplicationHelper 的单元测试

Log: 添加单元测试
Change-Id: I50a2730b82582d19b819fa14ea1ffde075d1d3be
(cherry picked from commit eceac867b4fd70d3add0554af0bae3415e061446)
2021-09-01 11:33:49 +08:00
Wang Penga 507c8a3a57 chore: 单元测试脚本调整(增加排除项)
platformtheme.cpp 在打包后验证总是失败。因环境不同,ci 上一直不能复现。

Log: 单元测试调整
Change-Id: Ie597837371d1d1481f8e5b1de81f1af9ad2469c6
(cherry picked from commit 7cf228690f2ceb001d3476c7b1a5afb89fcc0f80)
2021-09-01 10:21:36 +08:00
Wang Penga 83db633ff3 chore: 无内存泄露默认创建空日志
单元测试无内存泄露默认创建空日志文件

Log: 单元测试日志创建
Change-Id: Ic3b9cace6c340a3d805e54d5250aae231779419d
2021-08-30 20:30:43 +08:00
ck 7404657c7a feat: add ut_dnativesettings.cpp
添加dnativesettings的单元测试

Log: 
Change-Id: I3dc9133569efc781443ed43dce3c1dd1dbfb3e5a
2021-08-30 15:23:42 +08:00
ck 60b0e134ab chore: 部分ut调整(foreignwindow,svgrender,windowmanager)
foreignwindow不应该依赖windowmanager的接口,可以单独测试。
svgrender的新增一个函数的测试
windowmanagerhelper在ci上测试失败的适配,某些情况下失败只打印结果。

Log:
Change-Id: I475c1bbcae609c5d3c095e7083f798d3c1bdcbea
2021-08-30 11:20:00 +08:00
ck ba6d93e568 fix: wm handle groupleader UT failed
CI 环境这些单元测试无法获取到正确的情况,这时只打印一下

Log:
Change-Id: Ia872402295ce79bfce5b79ba2119184e9e20caac
2021-08-27 21:39:14 +08:00
Wang Penga ba323650fe fix: 排除无法测试的源文件
单元测试覆盖率生成排除无法测试的源文件

Log: 单元测试覆盖范围调整
Change-Id: I8b05021e7c12e3779236cc2b64429bb9f3eeb89b
2021-08-27 17:37:54 +08:00
ck e3fe88eb0d chore: 部分单元测试依赖窗口特效
windowmanager有些单元测试写的不合理,用来判断是否开启特效是否支持模糊的不能直接
断定为true. platformhandle部分接口需要有模糊支持才能成功。

Log:
Change-Id: I7a03d4954d23e0d96a560c20f9c5b155aa2f0713
2021-08-27 13:47:58 +08:00
Wang Penga 16b1cdac39 fix: 单元测试测项失败
CI 环境与本地不一致,发生 make check 段地址错误暂时无法定位

Log: 单元测试失败
Change-Id: Ifb426b039951cdfde65194157b13092d5f461527
2021-08-26 22:28:20 +08:00
Chen Bin e2926238f8 chore: 单元测试文件增加copyright
补上单元测试文件遗漏的copyright

Log:
Change-Id: I57ef8f8156408808ec2e8b9368280b2348725585
2021-08-26 13:48:27 +08:00
Chen Bin c9a0009456 feat: 部分单元测试调整
将一些集中的单元测试分到独立的函数中,将漏掉的platformTheme单元测试加上。
使用 QApplication 换成 QGuiApplication, 免得需要依赖qwidgets
使用 QWidget::Handle() 的换成 QWindow

Log:
Change-Id: I00a8a0ce096ad38abef304286af944792db23d60
2021-08-26 10:40:05 +08:00
Chen Bin 5bd927ae83 feat: 添加gtest单元测试
增加部分文件的单元测试文件

Log: 新增dtkgui单元测试
Change-Id: Icd8e3702ece36f6af565e2b9453015218da35953
(cherry picked from commit 2161407cbc)
2021-08-25 10:40:23 +08:00
ut003691 58d083a8b6 feat: 添加dde-kwin-debug工具
一个监测程序启动到界面显示所用时间的工具,用来评估程序的启动性能

Log:
Change-Id: I0c9fab12d3530cd43151a9ff32187ff0a4f20d3d
(cherry picked from commit df4d814658)
2021-07-30 15:59:27 +08:00
ck 0cd1d96898 feat: 输出测试报告xml文件
增加测试用例输出成xml,便于后端获取测试报告数据

Log: UT输出xml报告数据
Change-Id: I313b9ed21d60b12021972dd1535b4ec5c01b79ac
(cherry picked from commit 14a2e1a0e1)
2021-07-08 17:40:12 +08:00
yeshanshan 9a89317998 fix: 一个进程多次实例化QApplication程序崩溃。
QApplication在析构时会引起DPlatformIntegration的析构,DPlatformIntegration析构会释放其静态成员变量m_xsettings。
DGuiApplicationHelper为全局变量,只会init一次,创建DPlatformTheme,
DPlatformIntegration::buildNativeSettings在new DNativeSettings时会拷贝DPlatformIntegration的m_xsettings变量,
保存在其成员变量m_settings里。
当QApplication第二次构造时,重新获取调色板,会通过DGuiApplicationHelper访问应用主题,
继而会访问到DNativeSettings指向的m_settings成员变量,
此时m_settings指向的内存已经在上一次QApplication析构时释放掉了,成为了野指针,导致程序崩溃。

在QApplication析构之后再将DGuiApplicationHelper析构,
需要时再重新构造DGuiApplicationHelper,再次init,创建DPlatformTheme,
可保证DNativeSettings跟QApplication实例化次数无关,每次都重新构造。

Log:
Change-Id: I1aaba6397124afb3b95cc46c82db0efb2999a9aa
2021-06-25 13:05:12 +08:00
wangpenga 123cbb5fe9 chore: update abi json file
按照新的规则要求更新abi文件。

Log:
Change-Id: I400fd20cebcc97efcbcd3e0658015858c61a16ea
2021-06-22 17:02:20 +08:00
AlexOne f4b2406d6a fix: DGuiApplicationHelper::setSingleInstance start multiple instances
用脚本启动实例,会发生单实例的程序启动多个实例的情况。

Log:
Bug: https://pms.uniontech.com/zentao/bug-view-69284.html
Change-Id: I935bc04b8c6c49df994d774370a68bc72d9a0f42
(cherry picked from commit 88e0b51da7)
2021-05-31 17:19:45 +08:00
wangfei 3ccc4785ef fix: cppcheck错误警告修改
单参数构造函数添加explicit关键字,局部变量声明

Log: 修复cppcheck错误及警告
Change-Id: I187ec230376c3f72488e13509b87bcfdb5dd90c5
2021-05-31 12:03:42 +08:00
Chen Bin b26b6acc13 fix: 修复上游filedrag.conf问题
将FileDrag中的dbus改为session级别

Log:
Bug: https://pms.uniontech.com/zentao/bug-view-78217.html
Change-Id: I721040c68a9a351e57f50d4ca1b9ba00b5de1a80
2021-05-07 20:03:22 +08:00
Chen Bin c0f2e1ee54 feat: 适配社区版5.15环境下调色板问题
qt5.12中新增了PlaceholderText颜色,添加与5.11
颜色一致的对应颜色到此调色板中。使风格保持一致

Log:
Bug: https://pms.uniontech.com/zentao/bug-view-66654.html
Change-Id: I247d1619b9ec24582c09945bb2b3f4cd913fd4f5
(cherry picked from commit b27f489812)
2021-03-24 14:29:42 +08:00
chengyulong e79c74d2e9 docs: 添加DGuiApplicationHelper::setSingleInstanceInterval详细注释
添加DGuiApplicationHelper::setSingleInstanceInterval更详细的注释,增加对成员变量waitTime默认值和相关成员函数setSingleInstance的使用

Log: 添加注释
Change-Id: Ie0aeed59e3c41c9e06c131f1e1724473d10d42de
2021-03-19 13:15:40 +08:00
chenbin 8806b496f9 style: 修改调色板浅色模式下TextTips的颜色
将调色板中浅色模式下的TextTips颜色从#8AA1B4修
改为#526A7F

Log: 
Task: https://pms.uniontech.com/zentao/task-view-57698.html
Change-Id: I57638bc4734deef0ccf272da54c08df38f603bb5
2021-03-04 10:02:08 +08:00
chengyulong 26de283225 feat: 增加单元测试覆盖率
1.对项目目录结构进行优化,增加lcov计算单元测试覆盖率。
2.fontmanager为新增的,不在maintain中添加。

Log: 增加lcov计算单元测试覆盖率
Change-Id: I4454aee03a1dffb8e9bc443b967aa84e7dc57a60
2021-03-04 09:45:53 +08:00
ck 45e4798c1d fix: 完善dtkgui依赖dtkcommon
libdtdtkgui5依赖libdtkcommon, 因为filedrag的dbus配置文件移动到dtkcommon中

Log: 新增dtkcommon依赖
Change-Id: Ib5bc516a932b3883b624cb1bc02243b7959aeb9c
2021-03-03 15:10:39 +08:00
sunkang f935c66abf fix: 适配dtkgui多版本共存的处理
1. 删除src/dbus/com.deepin.dtk.FileDrag.conf 文件,此文件转移到libdtkcommon中

Log:
Change-Id: I9346141589524a209f31e8b195dfe0721778d23e
(cherry picked from commit 2a11ae19920829a411e4faabec8cbc56e50b654b)
2021-03-03 15:08:11 +08:00
ck 316811dcd6 chore: 移除注释的一行
移除注释的无用代码

Log: 删除无用的注释代码
Change-Id: I896ba53ba6478460e931eff9c738d9059b02e8e1
(cherry picked from commit 183fcd429b)
2021-02-26 15:28:57 +08:00
sunkang 73ff97c0fc fix: 修复example生成的临时desktop文件没有删除导致的启动器显示问题
修复example生成的临时desktop文件没有删除导致的启动器显示问题

Log:

Change-Id: Iae77bed7fa3ab15ddfb76a95318e11e527d0ea7e
2021-01-28 17:53:16 +08:00
zccrs 23984af7ba fix: 修复在销毁DSvgRenderer时断言失败
Q_GLOBAL_STATIC创建的全局对象会在程序退出阶段销毁, 然而
不能保证在这之后DSvgRenderer就不再被使用, 往往会出现RSvg
对象销毁之后DSvgRenderer对象才被销毁, 将导致析构时断言
__rsvg->isValid失败.

Log: 
Change-Id: I3ed2613a88c5828c79a96653f33379411d41fdb1
2021-01-28 17:50:52 +08:00
zccrs 6355e102b4 fix: 修复DPlatformTheme的主题继承时可能无法产生属性变化的通知信号
假设 A 被 B 继承,B 被 C 继承,修复当A的主题属性变化时未能通知
到C的问题。
当为窗口创建DPlatformTheme对象前,先确保当前的appTheme已经被
初始化,否则会误将systemTheme当作了主题继承对象。

Log: 
Change-Id: Ic0ba7007c39e8b0e257e11ef06f26093a09b8f65
2021-01-28 17:43:38 +08:00
zccrs 894800db0f chore: 添加对PT_GNU_STACK的指定
仅在龙芯架构上添加,默认时mips的编译器未指定相关参数
导致deb包构建时对libdtkgui动态库检查失败

Log: 
Change-Id: If9f243664828c7017b2fbfe852894ff18227af44
2021-01-28 17:41:29 +08:00
chengyulong 8b0e24421e fix: 修改DRegionMonitorPrivate的CursorEnter和CursorLeave错误的问题
修改DRegionMonitorPrivate的信号CursorEnter和CursorLeave与dbus相同。

Log: 修改DRegionMonitorPrivate的CursorEnter和CursorLeave错误的问题
Change-Id: Ib5c6d9301e96c431e73c51ce46d48b8f621bddc7
(cherry picked from commit 16d8bf2dee)
2021-01-12 13:33:11 +08:00
chengyulong 52c931882f fix: DRegionMonitor优化,增加设置监听鼠标移动、鼠标按键、键盘按键事件的接口
DRegionMonitor因为需要调用dbus,监听鼠标移动影响性能,新增设置监听鼠标移动、鼠标按键、键盘按键的接口。增加cursorEnter、cursorLeave信号。监听全屏区域时调用RegisterArea。增加WatchedFlags的鼠标中键、上下滚动flag

Log: DRegionMonitor优化,增加设置监听鼠标移动、鼠标按键、键盘按键事件的接口
Task: https://pms.uniontech.com/zentao/task-view-45197.html
Change-Id: Id2df84097d3e7e39df37176e23fbf4383612d24d
(cherry picked from commit c244347686)
2021-01-12 10:42:28 +08:00
ck b987e4c0e3 fix: update abi.json
abi工具升级, gerrit需要更新这个才可打包成功

Log: 更新abi.json文件
Change-Id: I0eea84bfff658aecc7b6c7949d0d486b1a382613
2021-01-12 10:34:39 +08:00
ck a238a9466a feat: 重载dh_makeshlibs
安装时依赖dtk的版本号要不小于构建时的版本,需要系统部改脚本支持

Log: 修改打包规则
Change-Id: I7b6ce39ab64270072f05e8360c0ca6ebf7727ca6
2020-11-23 13:12:47 +08:00
lxz 124068be0e
feat: add github action
add github action

Log:
Change-Id: I9c85c2fc33969c2c186a501a62ded98543ad5376
2020-11-10 13:37:05 +08:00
ck 5f6ab73182 fix: disable text color hard to read
针对QPalette::Text的disable状态在暗色主题下在dialog透明模糊时,如果后面有白色背景的应用几乎看不清文字的修复。修改方法是将原来混合颜色改成降低透明度,disable时透明度未原来的40%(来自设计的建议)

Log: 修复控制中心在白色背景下,开启屏幕的第一个屏幕名称看不清的问题
Bug: https://pms.uniontech.com/zentao/bug-view-53017.html
Change-Id: Id6ce0d4bacaa7755b5d108c484d7707760bd4a72
2020-11-10 09:06:02 +08:00
Robin Lee 0e9633f2e7 feat: Initial packit setup
This commit contains the specfile for building the official package for Fedora
with a Packit setup.

Ultimately, a unified specfile is targeted for Fedora and any other rpm-based
distributions, e.g. openEuler.

And Packit(https://packit.dev/) is a tool for maintaining specfile within
upstream source. It requires a simple config file(.packit.yaml).

Log:
Signed-off-by: Robin Lee <cheeselee@fedoraproject.org>
Change-Id: I59b00d9a21b1c00a337684e5a4e3c9b2354d79f2
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/8522
Reviewed-by: zhangjide <zhangjide@uniontech.com>
Tested-by: zhangjide <zhangjide@uniontech.com>
2020-10-23 08:56:23 +08:00
zccrs ea60f6b0bb fix: fallback to parent theme for the windowRadius property
支持读取windowRadius属性时fallback到上一级的theme主题

Change-Id: I78a801b6ee216139b9aaf5644731b7ac6390704c
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/8260
Reviewed-by: zhangjide <zhangjide@uniontech.com>
Reviewed-by: <mailman@uniontech.com>
Tested-by: zhangjide <zhangjide@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-10-21 17:54:39 +08:00
xmuli 6ae8f77d42 fix: Fix DToolTip control, also modified to rounded corner values.
The result is not as expected, not aesthetically pleasing, so it needs to be left alone.

Log:
Change-Id: I72624d44247d71e3eef8f9fddaddc94342c431a5
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/7957
Reviewed-by: zhangwengeng <xmulitech@gmail.com>
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: chenke <chenke@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-10-20 09:07:15 +08:00
xmuli de1f742ede fix: Fix default display right angle
A call to `FETCH_PROPERTY("DTK/WindowRadius", windowRadius)` will return -1 by default, resulting in the right angle parameter. So the cup is fixed here.

Log:
Change-Id: I4988af2bdd0a57ae99d9c5562fe8ba6808de8700
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/7769
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: chenke <chenke@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-10-16 15:55:14 +08:00
xmuli a3b9836b83 feat: Adding a Window Rounded Rectangle Interface
The deepin community version can change the window corner rounding size.

Log: The deepin community version can change the window corner rounding size.
Change-Id: I1e097bb30fd6ac6557dd255d1a70ee0e12a8c062
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/7495
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: zhangjide <zhangjide@uniontech.com>
Reviewed-by: zhangyueqian <zhangyueqian@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-10-14 17:04:12 +08:00
ck e717fdaedd feat: dpalette添加打印信息输出
添加打印信息输出,方便调试,更新api.json

Log: DPalette添加打印日志支持
Change-Id: I92d779edd86717a4ab46d366c9be85fb005208df
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/5096
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: chenke <chenke@uniontech.com>
Reviewed-by: caitongxun <caitongxun@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-09-16 17:34:02 +08:00
ck 6d92f7ee2d fix: lib未指定版本号时加载成了dev包
1.QLibrary未指定第二个参数时,会找到dev包,在非开发环境时会导致加载失败。现象是svg无法渲染(即应用无图标了)。2. 更新abi.json

Log: 修复加载lib包不对的问题(更新abi.json)
Change-Id: Ie210866e090e8b6a94af34fc6fbbbd76bd25b4ef
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/2599
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: zhangjide <zhangjide@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-08-24 09:49:01 +08:00