73 Commits

Author SHA1 Message Date
FanPengCheng
d45662f1e6 chore: cppcheck修复
按照gerrit编译的警告去除对应信息

Log:
Change-Id: Iec48357bcb3d9a98bccc74f9b09d7530d1d037b5
2021-06-01 10:23:44 +08:00
FanPengCheng
b891a5565e chore: 清理cppcheck警告信息
清理cppcheck警告信息

Log:
Task: https://pms.uniontech.com/zentao/task-view-77871.html
Change-Id: I93e77403b3f3b656be4e7d442b81dcbe227c3150
2021-05-31 20:06:39 +08:00
FanPengCheng
331cf7c749 chore: 修复内存泄露问题
修复内存泄露

Log:
Bug: https://pms.uniontech.com/zentao/bug-view-80694.html
Bug: https://pms.uniontech.com/zentao/bug-view-80695.html
Change-Id: I7410c84aa0a4d6f277ba7a887614814374ef683d
2021-05-25 21:42:38 +08:00
Fan PengCheng
bea20335f4 fix: 修复任务栏智能隐藏模式下无法隐藏的问题
鼠标移动时会不停的重置任务栏的位置,导致一直显示

Log: 修复任务栏智能隐藏模式下无法隐藏的问题
Bug: https://pms.uniontech.com/zentao/bug-view-79754.html
Change-Id: I0cc035388a728f1b2254e73689fd388530183af8
2021-05-14 18:24:57 +08:00
Fan PengCheng
a074f5fd8f fix: 修复切换任务栏位置导致的任务栏界面抖动问题
切换任务栏的时候,额外触发了一次设置任务栏全部显示,然后重新走的显示动画,导致显示效果异常

Log: 修复切换任务栏位置导致的任务栏界面抖动问题
Task: https://pms.uniontech.com/zentao/task-view-76659.html
Change-Id: I0f2de236640a1ab7449fbfb097e228d69c1d3a6b
2021-05-13 20:37:29 +08:00
Fan PengCheng
d0bbfe7208 fix: 修复任务栏调整高度时闪烁现象
调整高度时,会不停的重置任务栏位置,导致闪烁现象,当调整时,禁止重置即可

Log: 修复任务栏调整高度时闪烁现象
Change-Id: I31dfa3592090b6e3c0560e08562c804ba241e33c
2021-05-10 15:46:33 +08:00
Fan PengCheng
d0cef89503 fix: 修复切换显示器模式时任务栏概率性不显示的问题
当连接双屏,从仅某屏切换到仅显示到另外一个屏幕时,这个时候屏幕的坐标未发生变化,但实际上屏幕名已经变化了,但使用的qt库中没有类似QScreen的nameChanged信号,收不到此消息,导致任务栏仍然显示在之前的屏幕上的位置。
还因为以前为了减少耗时,多次屏幕信息变化会被延迟10ms后总结为一次变化通知任务栏更新位置,导致概率性获取任务栏的信息错误。

Log: 修复任务栏概率性不显示的问题
Bug: https://pms.uniontech.com/zentao/bug-view-78399.html
Change-Id: Id784c3a6142586645bc837e08964489e6987c2f4
2021-05-08 21:35:35 +08:00
Fan PengCheng
a51554b579 fix: 修复高分屏双屏扩展模式下智能隐藏模式任务栏切换屏幕显示失效问题
代码问题,之前修复高分屏下任务栏反复弹出问题引入,切换任务栏到另外一个屏幕时,条件写错了,导致提前终止流程。

Log: 修复任务栏在副屏唤起失败的问题
Bug: https://pms.uniontech.com/zentao/bug-view-75696.html
Change-Id: Id4cf066b61c1b7a47e77217392638ee5ced5f01e
2021-04-22 17:27:13 +08:00
Fan PengCheng
49edbcdcef fix: 修复仅显示在主屏时,任务栏一直隐藏模式可能无法唤醒的问题
仅显示在主屏时,设置监听区域的时候,如果判断副屏是否可显示任务栏,不符合会直接return,导致其他屏幕监听对应区域的代码未执行,改成continue就好了

Log: 修复任务栏一直隐藏模式可能无法显示的问题
Change-Id: I1e2b3c8777d7ee279a6d5462409ee97a7af03441
2021-04-19 09:52:16 +08:00
Fan PengCheng
81fd4a245a chore: 删除一些用不到的函数
部分函数没有必要保留,做删除处理,尽量降低类之间的耦合性

Log:
Change-Id: I6de2788f1571049c0f2f327cbd4875887ff71564
2021-04-16 16:59:27 +08:00
Fan PengCheng
aad74ebbbc chore: 优化代码,方便维护
部分类中的成员变量过多,不方便理解和阅读,改成状态值,参考QWidget的windowFlag,更方便维护

Log:
Change-Id: I0dd02ab14c9f6a6aee4c9a53a9cbad4a9077961d
2021-04-14 17:47:53 +08:00
Fan PengCheng
5da0c3d4a3 fix: 修复双屏切换成对角显示,副屏无法唤醒任务栏的问题
鼠标监听区域未更新导致

Log:
Change-Id: Ifd86cb9d3369b9322fde8bd1af834b5f9e66537e
2021-04-13 19:01:41 +08:00
Fan PengCheng
1e3d90f62b refactor: 去除对后端Display服务的依赖
后端服务数据变化有快有慢,可能导致任务栏不正确时间进行响应,从而导致显示异常,对应的单元测试代码已添加

Log: 重构显示逻辑,保障任务栏显示正常
Change-Id: I62f06c133945a625c2c2ec2b2e21809be27543b6
2021-04-12 16:53:09 +08:00
Fan PengCheng
3aa4308644 fix: 修复任务栏显示位置错误的问题
当显示器信息发生变化时,因为数据变化有先后顺序,容易导致在变化途中,任务栏任务当前时复制模式,从而不再更改自身所在位置,且任务栏重置显示屏幕时使用的屏幕名错误,

Log: 修复任务栏显示位置错误的问题
Bug: https://pms.uniontech.com/zentao/bug-view-70197.html
Change-Id: If3dc4ba1cdb7f8066fc626b986e7635d87d94fe4
2021-04-07 16:40:00 +08:00
Fan PengCheng
dc4074b4bd fix: 修复找不到屏幕信息导致的任务栏不显示的情况
Display服务给出的屏幕名有时候是异常的,比如VGA的屏幕刚接上的时候有时候后端给出的服务名时":0.0",导致获取不到正确的屏幕信息,从而导致任务栏显示位置异常

Log: 修复任务栏偶尔不显示的情况
Bug: https://pms.uniontech.com/zentao/bug-view-69484.html
Change-Id: Id6d6505255ddd2fd24bb873dbc9307fa0bb2c5c1
2021-04-01 21:45:39 +08:00
Fan PengCheng
e2e9211d1c feat: 修改部分函数命名和注释
函数命名变更,部分注释转移到源文件中,方便阅读头文件,去除mock的部分代码文件

Log:
Change-Id: I9cbb7d5a21a60c4643efbf78da7c599d85bd0829
2021-03-23 17:17:02 +08:00
范朋程
84f4d74cc6 feat: 添加单元测试代码
添加以下类的单元测试代码:
mainwindow,
删除部分用不到的代码

Log:
Change-Id: I2c6d5f01b730f230d1fdb73fabc8421442fd9e39
2021-03-18 15:23:34 +08:00
范朋程
29082f5f01 Merge branch 'maintain/5.2'
Change-Id: Ibf45f76bffd88100a2de4ec13b5da539ea843db6

# Conflicts:
#	debian/control
#	frame/item/components/previewcontainer.cpp
#	translations/dde-dock_az.ts
2021-02-26 09:48:26 +08:00
Zhang Qipeng
b51925c1ca fix: 任务栏位置错误
在计算任务栏位置时,删除中间的转换操作,直接获取任务栏在不考虑缩放下的真实参数,处理后传给x。

Log: 修复任务栏位置异常的问题。
Bug: https://pms.uniontech.com/zentao/bug-view-57039.html
Change-Id: I7c496909cec9702c09e45016b74d132cb74c5885
2021-02-04 15:28:25 +08:00
Zhang Qipeng
81053b31c9 fix: 资源未释放
多次快速旋转屏幕会多次调用这里,之前的资源未释放会导致后面的连接不成功,读不到正确的屏幕信息。

Log: 修复屏幕参数获取错误的问题。
Change-Id: I4bb1961a0e4786de1272a3897578be9c97cfa3cb
2021-01-29 14:43:16 +08:00
Zhang Qipeng
dd54b212f3 fix: 屏幕参数错误
display 服务中获取的屏幕宽高在旋转屏幕的特殊场景下会出错(宽高写反了),
故通过这个方法直接从 x 获取正确的值。

Log: 修复任务栏高度异常的问题。
Bug: https://pms.uniontech.com/zentao/bug-view-60892.html
Change-Id: I5a2030e32b41ce3c5f08d22f5750124feecda5c4
2021-01-27 18:38:35 +08:00
Zhang Qipeng
ff4aa3aa05 fix: dockSize计算错误
dockSize是从dbus获取的 ,这个值的范围是40~100,无论系统是否开缩放,也就是说这是个前端认为的值,
当前端计算时,直接用这个值即可,但是当需要获取任务栏的真实高度时,需要将这个值乘缩放比例,才能获取到任务栏的真实高度。

Log: 修复任务栏高度计算错误。
Change-Id: Ifd88ad1abb9d21fb84b30a2737adb77c30e1cb80
2021-01-20 15:14:18 +08:00
Zhang Qipeng
d2d80218ee feat: Optimize code structure
优化任务栏显示和隐藏时参数的计算方法。

Log: 调整任务栏代码结构。
Change-Id: I7c31f22e7e45e0c8660576f3271abe26825852ef
2021-01-20 14:46:04 +08:00
Zhang Qipeng
7658c6ff6a fix: 任务栏高度异常
任务栏传给xcb的高度计算错误。

Log: 修复任务栏高度异常的问题。
Bug: https://pms.uniontech.com/zentao/bug-view-60842.html
Change-Id: I0b467f269304e5dabb44a1ad6bc157590790c851
2021-01-18 13:18:23 +08:00
chenjun
cc5378c24b fix: 解决浏览器、终端等最大化窗口异常问题
解决浏览器、终端等最大化窗口异常问题

Log: 解决浏览器、终端等最大化窗口异常问题
Bug: https://pms.uniontech.com/zentao/bug-view-51294.html
Change-Id: I81e54d6a603b48cbcde611bdca58aa18e554ea3a
2021-01-13 20:21:03 +08:00
范朋程
b6503312cc Merge branch 'maintain/5.2'
Change-Id: I477c63aafbff41abae741bce7cb2a6066aed896a

# Conflicts:
#	frame/window/mainwindow.cpp
2021-01-11 13:42:27 +08:00
Zhang Qipeng
9d2d4855f5 fix: 旋转屏幕任务栏高度异常
之前参与计算的屏幕高度和宽度是所有屏幕的高度和宽度(当有多个屏幕时,将所有屏幕拼在一起当做一个整体,取最大宽度和高度),
但是任务栏计算高度时,应该用当前所在的屏幕高度、宽度来计算。

Log: 修复旋转屏幕导致任务栏高度异常的问题。
Bug: https://pms.uniontech.com/zentao/bug-view-60056.html
Change-Id: I40a57781dc942d89e7f3debdb91cb2b0cddf5dcc
2021-01-07 14:05:11 +08:00
chenjun
2ef1176873 fix: 添加针对源代码的单元测试,添加触发自动测试代码
因为单元测试需要直接测试源代码,而主程序代码中include的单元使用了相对路径
单元测试的CMakeLists和主程序的CMakeLists路径不同,编译单元测试时会提示找不到文件
因此设置搜索路径,并修改各单元引用头文件的路径。在单元测试的CMakeLists中添加需要依赖

Log: 添加针对源代码的单元测试,添加触发自动测试代码
Change-Id: I0e0bc92c28d6cee42fc52064fc360c58f7c02826
2020-12-22 10:10:20 +08:00
Zhang Qipeng
1294473e0f fix: 任务栏显示区域异常
任务栏会在特殊场景下(切换分辨率)收不到qt-dbus-factory的ScreenHeightChanged信号,导致任务栏的高度计算错误。

Log: 修复任务栏显示区域异常的问题。
Bug: https://pms.uniontech.com/zentao/bug-view-57569.html
Bug: https://pms.uniontech.com/zentao/bug-view-56391.html
Bug: https://pms.uniontech.com/zentao/bug-view-56388.html
Bug: https://pms.uniontech.com/zentao/bug-view-56010.html
Change-Id: I3e7c0b7cbcdc1f60faf528084222ce0f2bc9d245
2020-12-11 16:38:18 +08:00
chenjun
01529fea58 fix: 解决浏览器、终端等最大化窗口异常问题
解决浏览器、终端等最大化窗口异常问题

Log: 解决浏览器、终端等最大化窗口异常问题
Bug: https://pms.uniontech.com/zentao/bug-view-51294.html
Change-Id: I81e54d6a603b48cbcde611bdca58aa18e554ea3a
2020-12-08 17:04:00 +08:00
Fanpengcheng
2d2aadf1be Merge branch 'uos' into maintain/5.2
Change-Id: Ib6c973695a6375e5e68e0ef0a5e8b163cd20a9e7

# Conflicts:
#	frame/util/multiscreenworker.cpp
2020-12-07 11:16:42 +08:00
Fanpengcheng
f7290fd1a2 feat: 整理打印输出级别
整理打印输出级别

Log:
Change-Id: I8bfde8760b571d99903fda1800137943754cf30a
2020-12-02 15:00:53 +08:00
liuxing
7ae745d2b9 fix: 智能隐藏时,窗口最大化并不能隐藏任务栏
窗口最大化时,任务栏处于智能隐藏模式时没有调整窗口占用位置,最大化后不与任务栏产生重叠,所以没有隐藏。个人观点之前逻辑一定角度看不算问题

Log: 修复智能隐藏时,窗口最大化并不能隐藏任务栏问题
Bug: https://pms.uniontech.com/zentao/bug-view-54538.html
Change-Id: Ie5c3a6b3fc78c733e4175eeb62716f37fb1103b4
2020-11-26 09:55:25 +08:00
Fanpengcheng
ae9ec31514 feat: 避免反复设置窗口工作位置
避免反复设置窗口工作位置,导致任务栏的日志一直在输出中

Log:
Change-Id: I657a825a14fb9288d2dada2fb8c81006743123f7
2020-11-13 15:20:18 +08:00
Fanpengcheng
5da7670e60 feat: 避免反复设置窗口工作位置
避免反复设置窗口工作位置,导致任务栏的日志一直在输出中

Log:
Change-Id: I657a825a14fb9288d2dada2fb8c81006743123f7
2020-11-13 11:04:23 +08:00
chengbo
db0c0039d4 fix: 任务栏位置调整左边,摩灯窗口还是从底部出来
删除定时器,使用监听Dock的FrontendWindowRect change信号,重新更新IconGeometries

Log: 魔灯效果下,窗口效果跟随任务栏位置
Bug: https://pms.uniontech.com/zentao/bug-view-44736.html
Change-Id: I5e6caf7872dc37c34d8e5fb99676d7b35940dff3
2020-11-05 21:34:21 +08:00
chengbo
c699611d45 Merge "fix: 任务栏位置调整左边,摩灯窗口还是从底部出来" into uos 2020-11-03 12:02:18 +08:00
chengbo
5f36df4430 fix: 任务栏位置调整左边,摩灯窗口还是从底部出来
删除定时器,使用监听Dock的FrontendWindowRect change信号,重新更新IconGeometries

Log: 魔灯效果下,窗口效果跟随任务栏位置
Bug: https://pms.uniontech.com/zentao/bug-view-44736.html
Change-Id: I5e6caf7872dc37c34d8e5fb99676d7b35940dff3
2020-10-30 17:30:49 +08:00
Fanpengcheng
35df09ee53 fix: 紧急修复任务栏无法置顶的问题
系qt和x的一些接口冲突,导致设置DOCK角色失败

Log:
Change-Id: I28e0cd64a9717f60e6bf060cb369ea637386875d
2020-10-30 14:38:57 +08:00
Fanpengcheng
163461ff9b fix: 紧急修复任务栏无法置顶的问题
系qt和x的一些接口冲突,导致设置DOCK角色失败

Log:
Change-Id: I28e0cd64a9717f60e6bf060cb369ea637386875d
2020-10-30 14:37:40 +08:00
Fanpengcheng
fa27ca79c8 feat: 去除几处比较频繁的打印
去除几处比较频繁的打印

Log:
Change-Id: I508b96b408496d50d7c005d73c708deadc07c8cd
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/7887
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: xiechuan <xiechuan@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-10-19 21:30:38 +08:00
聂成
2abfd33fa9 fix: 屏幕旋转后窗口最大化行为不正常
dock没有考虑旋转屏幕时设置窗管相关的参数

Log: 屏幕旋转后窗口最大化行为不正常
Bug: https://pms.uniontech.com/zentao/bug-view-38696.html
Change-Id: I2a5c7858f9427f4976ff958ab8efe08271ccf342
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/7773
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-10-19 11:57:03 +08:00
Zhang Qipeng
2714dfa26c fix: 移动鼠标任务栏跳动
在高分屏开2.75倍缩放时,通过qt获取的任务栏高度不正常(实际为40,获取的值为39)导致显示动画可以重复执行。

Log: 修复移动鼠标任务栏跳动的问题。
Bug: https://pms.uniontech.com/zentao/bug-view-50417.html
Change-Id: I72e5c7239c785d1016866e420d49b15cd3031962
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/7059
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-10-12 15:13:29 +08:00
Zhang Qipeng
240cf938ae feat: Optimize animation code structure
优化任务栏初始化时显示与隐藏动画的执行逻辑。

Log: 优化任务栏初始化时显示与隐藏动画的执行逻辑。
Change-Id: If82eba947ae429d3de8b208d32bd31c24c88fd34
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/6852
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: fanpengcheng <fanpengcheng@uniontech.com>
2020-10-09 18:09:20 +08:00
Zhang Qipeng
2a09259cc2 fix: The taskbar range is calculated incorrectly when zoomed
计算任务栏外部区域时,后端传来的值均为实际值(不受缩放影响的实际屏幕参数),参与计算的均为实际值;
但是当开启缩放后,任务栏在视觉上的高(宽)度比缩放前大,应该乘一个缩放比例,才是任务栏实际的像素高度;
由于后面判断隐藏任务栏时机的时候,是用获取的鼠标坐标实际值与之前存的任务栏的边界作比较,相等时执行隐藏任务栏的动画;
如果之前保存的任务栏参数没有乘缩放比例,那它的高度值只能在40~100之间浮动,但是开启缩放1.25后,它的像素高度应该在50~125之间浮动;
故拿减去实际像素值的范围与鼠标坐标判断才能获取到准确的范围。

Log: 修复开启缩放后任务栏提前隐藏的问题。
Bug: https://pms.uniontech.com/zentao/bug-view-49297.html
Change-Id: If8c3b28be213fe67f0085d64bad6d63f19edc4a3
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/6348
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-09-27 09:04:46 +08:00
范朋程
ca88882ccb fix: 修复系统刚启动时插拔屏幕导致的任务栏不显示问题
插拔屏幕过程中,使用qt的方法获取的屏幕名与后端的display服务中获取的屏幕名不一致,导致异常
这里改成主屏幕名也使用后端的数据

Log: 修复系统刚启动时插拔屏幕导致的任务栏不显示问题
Change-Id: I80c3fb940f30b923294b92363aaccf9a3ce3183c
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/5562
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-09-19 13:06:37 +08:00
liuxing
ff96316835 fix: 配置文件命名错误
配置名命名错误修正

Log: 修正错误的配置文件名
Change-Id: I8f99403bc601535c919615f719ff24a8ec5cdc5e
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/5396
Reviewed-by: wangwei <wangwei@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: fanpengcheng <fanpengcheng@uniontech.com>
2020-09-18 15:37:13 +08:00
liuxing
5a586988fa feat: 任务栏增加多屏配置处理逻辑
多屏位置切换时间配置+固定屏幕显示配置

Log: 任务栏增加多屏配置处理逻辑
Task: https://pms.uniontech.com/zentao/task-view-37417.html
Change-Id: I9c272b95866addaeb49c78fa64e5f889074f8f4d
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/4724
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-09-15 21:47:30 +08:00
范朋程
4149b287e5 fix: 修复任务栏一直隐藏模式下,从下切换到右出现的显示异常问题
切换是计算任务栏位置时使用position不应使用最新值,而应该是先从上次的位置先隐藏

Log: 修复任务栏一直隐藏模式下,从下切换到右出现的显示异常问题
Change-Id: I9b18900bf5115269ef5c239ac46cbf4d91e040dc
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/4773
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Reviewed-by: wangwei <wangwei@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-09-15 13:02:26 +08:00
范朋程
755190472c fix: 修复自动化测试出现的任务栏不显示问题
com.deepin.daemon.Display服务启动比任务栏启动要晚,导致获取的数据异常

Log: 修复自动化测试出现的任务栏不显示问题
Change-Id: Ida4b6986dfec4bf212cfc1e28c4ebf4dfcb63198
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/4064
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Reviewed-by: wangwei <wangwei@uniontech.com>
Tested-by: <mailman@uniontech.com>
2020-09-09 21:00:51 +08:00