Commit Graph

161 Commits

Author SHA1 Message Date
zccrs d2ff5d299c fix: 取消废弃paletteType
补充paletteType属性的定义,将其与themeType的含义分开,跟
最初设计的一样,paletteType仅和setPaletteType设置过的值
有关,在上次重构代码的基础上只废弃setThemeType接口。
上次重构的提交:2d18a7955d9540e2b8cd735cb3ef962f495cbb3f

Log:
Change-Id: I0df74f1f1654870e49a715dea496f5013dea67a7
2021-01-25 15:14:52 +08:00
zccrs 2ccf6dfc85 fix: 修复staticInitApplication可能会被调用多次的问题
qAddPreRoutine每调用一次即会在QCoreApplication创建
时被调用一次, 因此不要多次调用此函数.

Log:
Change-Id: Ib4efa7213aa942654c2b13a0ce89672317eb71e9
2021-01-20 10:12:18 +08:00
chengyulong 13a42f4a9a feat: 添加GTest测试单元
添加DRegionMonitor、DForeignWindow测试case

Log: 添加GTest测试
Change-Id: I46a680bb1baaec3616c238c0fac7797bdd1daecc
2021-01-18 14:48:44 +08:00
zccrs 43075064f8 refactor: 使DGuiApplication跟随QGuiApplication对象销毁
DGuiApplication中有大量的内容与QGuiApplication绑定, 因此
需要在QGuiApplication销毁时清理当前的实例, 以便当一个新的
QGuiApplication被创建时可以正常使用DGuiApplication. 主要
是为了支持在程序运行期间销毁并重新创建QGuiApplication对象
的场景, 如在deepin-turbo的booster中会预先创建一个
QGuiApplication对象(主要是预加载数据), 之后可能会删除这个
对象, 当booster开始加载一个程序时, 在程序的代码中会再次创建
QGuiApplication对象.

另外修复在非dxcb插件环境下使用DGuiApplicationHelper::applicationTheme
时可能会陷入死循环.

Log:
Change-Id: I169235cae8fd802805de6757f4e2668e65f7dfc9
2021-01-14 17:22:21 +08:00
zccrs 357df725cb refactor: 重构DFontManager类
不再提instance方法获取单例对象, 程序级别的DFontManager
转移到DGuiApplicationHelper中提供.
重构DFontManager类, 删除一些无用信号, 提供直接指定baseFont
的属性.

Log:
Change-Id: I7591acbb0b1223ae1ad4b0b8d7e0c4bbeb3b4035
2021-01-11 17:17:02 +08:00
pengwenhao 263581fce3 fix: 2d also allow setting of wallpaper effect data
2d 下也会设置wallpaper effect的数据,保障从2d切换到3d后特效可以
直接开启

Log: 2d下也允许设置wallpaper effect使用到的参数
Change-Id: I763ed7a44c07fcbda135d0b4ce35a4bec0a38851
2021-01-06 17:47:49 +08:00
zccrs f27e05fb44 fix: 修复themeTypeChanged等信号失效
当appTheme被初始化为systemTheme时, 应当为appTheme初始化信号链接

Log:
Change-Id: I682e6e64a64d687485e36b11f81ce4b6d927eaee
2021-01-05 21:36:53 +08:00
zccrs 2d18a7955d refactor: 整理DTK程序调色板相关的代码逻辑
简化程序自定义调色板与DPlatformTheme的关系, 当使用
setApplicationPalette或setThemeType自定义调色板之后,
将不再考虑DPlatformTheme中设置的themeName等属性.

废弃了paletteType属性, 避免在使用上跟themeType
产生误解.

废弃了窗口级别的DPlatformTheme相关接口, 只允许使用
sytemTheme获取系统级别的平台主题信息, 另外将applicationTheme
等价于systemTheme, 程序和窗口级别主题设置不再允许通过
DPlatformTheme从外部获取, 在实际需求中, 在程序内部
按需实现自定义即可.

Log:
Change-Id: Ideea8673bb3bdec44a8978c9f4556a971c4723b5
2021-01-04 13:26:45 +08:00
zccrs a4faf581f3 feat: add Q_GADGET for DPalette
允许在Qt元对象系统中使用DPalette, 同QPalette可用于qml中.

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

Log:
Change-Id: I3ed2613a88c5828c79a96653f33379411d41fdb1
2021-01-04 11:52:49 +08:00
sunkang 550a8c58ea fix: 修复example生成的临时desktop文件没有删除导致的启动器显示问题
修复example生成的临时desktop文件没有删除导致的启动器显示问题

Log:

Change-Id: Iae77bed7fa3ab15ddfb76a95318e11e527d0ea7e
2020-12-30 13:51:48 +08:00
sunkang 8389d05326 feat: 新增一个函数用于判断当前桌面环境是否是平板电脑
添加一个函数用于判断当前桌面是否是平板电脑的环境

Log:

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

Log:
Change-Id: Ic0ba7007c39e8b0e257e11ef06f26093a09b8f65
2020-12-29 15:59:06 +08:00
zccrs fde47fa1f3 fix: 整理与DPlatformTheme相关的一些逻辑
为DPlatformTheme添加更多的代码注释。
移除DGuiApplicationHelper中与systemTheme相关的信号监听,仅
使用applicationTheme中的信号即可,它会自动继承systemTheme
中与程序主题相关的属性(不包含调色板的部分)。

DPlatformTheme自动转发parent theme以及非调色板的属性变化信号
到 propertyChanged(之前这个信号只会通知与调色板内容变化相关的属性变化)

Log:
Change-Id: I136511cd94cc2b711230b561c0fa45516763a57b
2020-12-29 14:59:06 +08:00
zccrs 6f0a551492 feat: 支持设置wm class name
用于在窗口创建之前设置WM_CLASS属性,只适用于x11平台

Log:
Change-Id: I19b978ef811ec00cce0791811a7a41b5eb1bded9
2020-12-25 16:10:23 +08:00
sunkang f18578db58 fix: 修复fontGenericPixelSize属性在QML中使用类型不能识别和字体属性变化信号没有发射的问题
1. fontGenericPixelSize属性使用的quint16在qml中赋值出现不能识别的问题,这里统一修改为int类型
2. 修复系统字体大小变化后没有发射字体变化信号的问题

Log:

Change-Id: I8e7298f9f820d973ec8f03eb495beb67ae72a30d
2020-12-24 16:59:27 +08:00
pengwenhao a0e0513540 feat: add interface for set wallpaper effect parameters
添加对于kwin壁纸特效参数设置接口

log: 添加对于kwin壁纸特效参数设置接口
Change-Id: I26e4191d0922dbf07919a1922ca0ce864322cc4f
2020-12-23 09:47:11 +08:00
sunkang a9423da236 feat: 新增DFontManager类,用于字体的管理
新增DFontManager类用于字体的管理,方便字体的设置和获取

Log:

Change-Id: I97f70b8837196a89c7bfb95ac87d37d6682ae549
2020-12-22 17:24:03 +08:00
zccrs 583c58b3b2 chore: 添加对PT_GNU_STACK的指定
仅在龙芯架构上添加,默认时mips的编译器未指定相关参数
导致deb包构建时对libdtkgui动态库检查失败

Log:
Change-Id: If9f243664828c7017b2fbfe852894ff18227af44
2020-12-22 11:52:20 +08:00
sunkang 47b80d5a1d fix: registerInstanceCreator函数标记为废弃
因为DApplicationHelper继承 DGuiApplicationHelper的缘故,所以需要registerInstanceCreator
函数初始化 DGuiApplicationHelper类,用于实现单例模式,现在DApplicationHelper标记为废弃(推荐使用
DPaletteHelper类), 相应的这个函数标记为废弃

Log:

Change-Id: I401eb4cadc6abd008b90a109cf2bc20203ee57fa
2020-12-22 09:35:55 +08:00
zccrs 97f1c63d9f feat: register the DWindowManagerHelper::WmWindowTypes flags
将此类型注册以供qml使用

Log:
Change-Id: I0ffa932030d225aa0d27f7986ad8ea36e76d1e17
2020-12-21 21:02:53 +08:00
zccrs 910230573b feat: add DWindowManagerHelper::setWmWindowTypes
提供更丰富的接口用于为窗口设置WM提供的窗口类型
x11平台下的窗口类型来源: https://specifications.freedesktop.org/wm-spec/1.3/ar01s05.html

Log:
Change-Id: I843564394526a8c1041826174f84e98fae9c1ea0
2020-12-21 20:15:30 +08:00
chengyulong 16d8bf2dee fix: 修改DRegionMonitorPrivate的CursorEnter和CursorLeave错误的问题
修改DRegionMonitorPrivate的信号CursorEnter和CursorLeave与dbus相同。

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

Log: DRegionMonitor优化,增加设置监听鼠标移动、鼠标按键、键盘按键事件的接口
Task: https://pms.uniontech.com/zentao/task-view-45197.html
Change-Id: Id2df84097d3e7e39df37176e23fbf4383612d24d
2020-11-27 13:57:29 +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
chenbin 3d3f3de410 fix: 去除dsvgrenderer.cpp文件中INIT_FUNCTION产生的警告
修改类型转换方式,替换reinterpret_cast转换方式,增加decltype关键字进行转换以去除编译警告;并去除部分隐式转换造成的的编译警告

Log: 去除dsvgrenderer.cpp文件中的编译警告
Change-Id: I051ce3db25ba49f66f4be0d2347ea73da1ed81fd
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/2190
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: zhangjide <zhangjide@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-08-18 14:12:49 +08:00
zccrs 76f129da63 refactor: remove libqt5x11extras5-dev depend
只在一个地方使用了QX11Info,但是却导致链接了一些X11的库
所以使用native接口调用移除了对QX11Info的依赖

Change-Id: Ia272e6bf9c50ba23c3fe9148c8c329660846d410
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/2131
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: zhangjide <zhangjide@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-08-17 13:22:34 +08:00
zccrs 4c159f015d refactor: remove link the librsvg-2.0
将对librsvg的依赖改为使用QLibrary动态加载
增加了libdtkgui库的加载速度

Change-Id: Icfbfbc80f504c789cc313c27e204c5c84bea3695
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/2130
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: zhangjide <zhangjide@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-08-17 12:34:16 +08:00
ck 94e6ed00f1 fix: dtk窗口隐藏再显示无法通过窗管菜单关闭
设置MotifFunction时,既设置了close又设置了FUNC_ALL,就会出现无法关闭的情况,kwin中有这样的判断逻辑

Log: 修复应用关闭到托盘后再次显示无法通过任务栏菜单关闭所有关闭
Task: https://pms.uniontech.com/zentao/bug-view-3391.html
Change-Id: Id35b905a55159631ee1cb46c8d69a8eac5ee1a6c
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/1856
Reviewed-by: zhangjide <zhangjide@uniontech.com>
Reviewed-by: <mailman@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-08-13 15:31:42 +08:00
ck a1d77d3f1d feat: add rpm spec
行业板打rpm包需要添加spec文件

Log: 支持rpm打包构建
Change-Id: I383acfb32526015f8a4f05c1ebd611b82df0cb10
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/1529
Tested-by: chenke <chenke@uniontech.com>
Reviewed-by: chenke <chenke@uniontech.com>
2020-08-11 15:38:34 +08:00
ck b227464a40 feat: 新增windowFromPoint接口
获取指定位置的窗口,需要自己释放内存

Log: 新增windowFromPoint接口
Bug: https://pms.uniontech.com/zentao/bug-view-30174.html
Change-Id: I26d8ba04d3497832312129a660c6d01ea8fd9e30
Reviewed-on: http://gerrit.uniontech.com/c/dtkgui/+/1158
Reviewed-by: chenke <chenke@uniontech.com>
Reviewed-by: zhangjide <zhangjide@uniontech.com>
Reviewed-by: <mailman@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-08-06 10:39:24 +08:00
ck 8219b171f3 fix: 加入symbols文件后有的架构打包失败
文件名改为 symbols.amd64 只在amd64 平台检查abi兼容

Log: 修复加入symbols文件后有的平台打包失败
2020-07-02 18:53:48 +08:00
ck 557caf63d3 fix: function name typo and default waitTime
修改接口的一个拼写错误,将原来的接口标记为废弃,默认等待时间和QLocalSocket 一致 3000ms

Log: 修改默认等待时间和接口拼写错误
Task: https://pms.uniontech.com/zentao/task-view-28124.html
2020-06-29 10:39:08 +08:00
lyym f774bfc4f2 abigail: 集成dabi的json文件到包中
通过json文件来对比检查EXPORT_SYMBOL的函数是否发生改变,在debian目录加入了之
前的版本生成的json文件用来和基于当前生成的做对比

Log: 加入用以对比检查EXPORT_SYMBOL的函数是否发生改变的json文件
Task: https://pms.uniontech.com/zentao/task-view-28032.html
2020-06-28 17:48:41 +08:00
ck b279354875 fix: delete symbols file
Log: symbols文件错误导致sw和i386编译失败。暂时删除。
2020-06-23 17:46:13 +08:00
chengyulong_cm ab57dd8dd0 add: add symbols file 2020-06-18 19:21:22 +08:00
chengyulong b5539b26fe fix: bug27468,注销PC后,打开语音记事本,打开两个语音记事本应用窗口
将语音记事本设置为开机启动后,重启或注销再重新登陆后在该应用程序自启动前可手动启动一个语音记事本导致会启动两个语音记事本,原因是在判断是否已经存在正在运行的语音记事本时等待QLocalSever通知时间太短,故此将原本等待100ms改为等待1000ms,增加一个设置等待时长的接口。增加等待时长可能会增加程序自启动的耗时。

Log: 修复语音记事本设置为开机启动后,重启或注销系统后可打开两个语音记事本的bug。
Bug: https://pms.uniontech.com/zentao/bug-view-27468.html
2020-06-17 18:19:59 +08:00
刘阳 c3e0ce45ca fix: lintian command check libdtkgui5*.deb occured error
使用 lintian 命令检查 deb 包报错;E: libdtkgui5: dbus-policy-excessively-broad。
2020-06-01 16:09:51 +08:00
zccrs 2582f298d6 refactor: disable dh_makeshlibs 2020-05-06 12:58:47 +08:00
zhangwengeng 17d1d6af12 license: switch to LGPLv3 license 2020-04-24 17:55:17 +08:00
zhangwengeng eb80c8d763 license: switch to LGPLv3 license 2020-04-24 16:52:09 +08:00