140 Commits

Author SHA1 Message Date
范朋程
565ef80494 feat: 新增控制中心个性化插件
Merge remote-tracking branch 'origin/dev/11261'

Log: 新增控制中心个性化插件
Influence: 控制中心-个性化菜单下面的任务栏设置子菜单,任务栏右键菜单
Change-Id: If768e8a442e9a3b418e9da44207534f4ba28413a
2021-10-19 09:24:54 +08:00
范朋程
fe238fbcad fix: 修复个性化插件自测出现的部分问题
修复dbus服务提供的xml数据中getPluginKey未设置返回值的问题
修复打开个性化配置页面,当任务栏位置、状态、模式发生变化时,未及时反映到界面上的问题
优化接口调用,避免同一数据反复触发dbus
按照需求更新页面文案内容

Log:
Task: https://pms.uniontech.com/zentao/task-view-86358.html
Change-Id: I598683dcf74711d6935f3c6c911e300967aa1199
2021-10-14 11:33:08 +08:00
chenjun
916ab6482b fix: 判断鼠标坐标时需要考虑在显示器边缘的情况
在多显示器拼接时,鼠标在拼接处移动时,需要考虑鼠标坐标不在显示器的rect区域内,需要单独处理

Log: 修复扩展模式下任务栏跟随主屏时任务栏会在副屏闪烁问题
Bug: https://pms.uniontech.com/zentao/bug-view-94504.html
Change-Id: I36a434bd5d385735ebfa9f1c4d01c31c830f84d2
2021-09-26 09:06:53 +08:00
chenjun
f0dcb18af6 fix: 根据任务栏当前状态计算获取任务栏位置
根据任务栏当前状态计算获取任务栏位置

Log: 修复任务栏在隐藏模式时切换分辨率后没有显示的问题
Bug: https://pms.uniontech.com/zentao/bug-view-93370.html
Change-Id: I7dfe07b9baf4c6092b3e18099344802d3133c204
(cherry picked from commit 6f1267b7fd75ac6bb5d31228d106c1820508b9b5)
2021-08-31 20:14:46 +08:00
chenjun
1407364107 Revert "fix: 任务栏在仅主屏显示模式下切换主屏让其跟随主屏显示"
This reverts commit be1f9b2be9c20f80ea6b3a6337ea7faa89703857.

Change-Id: I2d21ad73fcb69aaa590753d92cf2bf8098ca564d
2021-08-28 15:51:43 +08:00
FanPengCheng
816f0edc87 test: 添加单元测试代码
添加单元测试代码

Log:
Change-Id: I243bcf2e5f1057eb909e68a2c77f86ba3f9f9f7e
2021-08-26 12:43:17 +08:00
Dong Hualin
be1f9b2be9 fix: 任务栏在仅主屏显示模式下切换主屏让其跟随主屏显示
跟随主屏模式下,在切换屏幕的处理中,让任务栏显示到切换后的主屏中,根据后台返回的任务栏的显示还是隐藏状态来当前任务栏显示或者隐藏

Log: 修复切换主屏幕任务栏没有跟着切换并且没有唤起的bug
Bug: https://pms.uniontech.com/zentao/bug-view-92020.html
Bug: https://pms.uniontech.com/zentao/bug-view-92089.html
Change-Id: I54f452f82b6e4ba2711e8c62433b396e4598c30d
2021-08-26 10:27:46 +08:00
songwentao
85872693ed 多屏扩展模式下,任务栏右键菜单添加“多屏显示设置”
多屏模式扩展模式下,任务栏右键菜单添加“多屏显示设置”,可以设置为仅主屏显示或者跟随鼠标位置显示

Log: 任务栏支持配置仅显示在主屏
Task: https://pms.uniontech.com/zentao/task-view-83869.html
Change-Id: I790f8bef24884162729cb8ede91397b149fe4954
2021-08-25 15:48:15 +08:00
zsien
a0ce73a0b3 fix: 任务栏智能隐藏下,killall -2 dde-dock,任务栏不会自动显示
MIPS 下,开启了窗口特效,动画时间是 0。
此处不应该使用是否开启窗口特效来判断。

Log: 修复任务栏智能隐藏,杀掉进程不会自动显示
Bug: https://pms.uniontech.com/zentao/bug-view-92340.html
Change-Id: I5f35396a989f04358fcd5a11e09f28e448b775f5
2021-08-24 17:56:51 +08:00
Dong Hualin
badc54313b fix: 修改判断清空窗口展示区域的逻辑
清空窗口显示区域的逻辑修改,原来的判断逻辑是在不是复制模式作为一个条件,并且满足当前屏幕和主屏幕不同或者当前任务栏的状态不是一直显示作为另一个条件,修改为当前不是复制模式并且当前屏幕和主屏幕不同作为一个条件,或当前任务栏的状态不是一直显示作为或的另一个条件

Log: 解决任务栏在双屏复制模式下任务栏在智能隐藏模式下最大化当前窗口无法隐藏任务栏的bug
Bug: https://pms.uniontech.com/zentao/bug-view-90467.html
Change-Id: I410361e3bccdfe66284602f15c2c4717a416b4d3
(cherry picked from commit 82948d07a11406f6d748c51e4dafb49297adbce3)
2021-08-16 14:23:47 +08:00
Dong Hualin
6ce4badcfa fix: 解决任务栏在一直隐藏的状态下鼠标经过一直闪烁的问题
任务栏在隐藏的时候,鼠标经过任务栏,唤醒任务栏,此时触发屏幕的可用区域或虚拟区域变化,会调用重置任务栏(resetDock)方法,重新将任务栏的高度变成0,引起任务栏闪烁。因此,在此处判断当前的任务栏区域和上一次任务栏区域是否发生改变来决定是否继续执行重置任务栏的操作

Log: 优化任务栏在隐藏模式下的状态改变逻辑
Bug: https://pms.uniontech.com/zentao/bug-view-90467.html
Change-Id: I4037034b131db361fd5dd05276dbeba1bc3d6191
2021-08-13 15:27:53 +08:00
Dong Hualin
32894dd413 fix: 修改任务栏判断鼠标在任务栏边缘的方式
双屏幕的情况下,在当前鼠标位置的x和任务栏的x坐标相等的情况下,增加鼠标位置的y坐标在任务栏的上下区域内的判断;同时,在鼠标的y坐标和任务栏的y坐标相等的情况下,判断鼠标的X坐标是否在任务栏的左右区域内

Log: 修复双屏情况下鼠标无法唤起任务栏的bug
Bug: https://pms.uniontech.com/zentao/bug-view-89237.html
Change-Id: I7ce288090911aacb5f1193a314bc285f168eea46
2021-08-03 17:07:42 +08:00
Dong Hualin
33feba31e1 fix: 修改获取屏幕区域缩放前分辨率的方式
在当前显示器设置了缩放因子的情况下,缩放前的分辨率是通过当前分辨率乘以缩放因子得到的,会有误差。改成了通过QScreen的handle()->geometry()函数能拿到缩放前的分辨率,和桌面获取分辨率保持一致

Log: 修复高分辨率屏幕设置缩放因子切换到低分辨率屏幕下桌面图标显示不全的bug
Bug: https://pms.uniontech.com/zentao/bug-view-87627.html
Change-Id: Ieddbae64fc13bd029b3dc818c7bc11fcc6c52462
2021-07-21 21:33:54 +08:00
Dong Hualin
aeced57129 fix: 修改获取屏幕区域当前分辨率的显示方式
显示器同时连接4k屏幕和1080屏幕,若在4k屏幕下设置缩放因子为2.75,得到的原始分辨率始终比实际原始分辨率大,导致桌面无法正确识别当前的显示器

Log: 修复屏幕缩放因子为小数的情况下屏幕分辨率的误差的问题
Bug: https://pms.uniontech.com/zentao/bug-view-87627.html
Change-Id: Ice1369af0d756837aa527131503d8a380b5d8cf0
2021-07-21 18:44:27 +08:00
Dong Hualin
ddfd90d1b5 fix: 修复在dp口连接多个屏幕,复制模式下应用程序窗口跨越任务栏
在多个屏幕连接的复制模式下,直接用主屏的设置,无需对副屏单独处理

Log: 修复复制模式下多屏幕应用程序窗口区域异常
Bug: https://pms.uniontech.com/zentao/bug-view-86345.html
Change-Id: Ib56aeccf9ed057e6a2b69e68f88896dc3b35815e
2021-07-20 18:14:51 +08:00
yanghongwei
f02d529942 chore: 修改代码版权声明中的日期
修改代码版权声明中的日期不超过当前日期

Log:
Change-Id: Ibefe837c59fc23e541b9c9cd7249144a1a674e43
2021-06-18 23:10:14 +08:00
FanPengCheng
c8ebd46581 fix: 修复智能隐藏模式下任务栏移动到一个全屏页面的屏幕上后会隐藏的问题
移动到全屏页面的屏幕上,本应该先响应后端信号进行隐藏的,
但如果鼠标正好处在任务栏要显示的区域中时,可以省去这个步骤,
因为智能隐藏模式下,鼠标是可以唤出任务栏的

Log: 修复切换屏幕时,任务栏动画概率性跳动问题
Bug: https://pms.uniontech.com/zentao/bug-view-83513.html
Change-Id: Ia90ddcede9a7d3f7d624124b5c4c022818f8e572
2021-06-11 17:53:32 +08:00
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