63 Commits

Author SHA1 Message Date
tsic404
e8e0f3c96f chore: adjust dock ui
1. adjust dock window space to 10
2. make traymainwindow contentsMagins to fixed value
3. make trycontrolpanel background color alpha
4. remove space between fullscreen and dock
5. set border for quick panel items
6. adjust standitem icon and text space
7. adjust sliderContainer icon background color

log: as title
2024-02-02 10:54:42 +08:00
chenhongtao
478f564631 fix: dock will not auto hide after set size
Issue: https://github.com/linuxdeepin/developer-center/issues/7129
Log:
2024-01-30 08:21:33 +00:00
tsic404
5f6cacdf2a refactor: Rewrite the calling method of dock settings
Rewrite the calling method of dock settings, using the new dconfig interface instead of AM's dbus interface

log: as title
2023-07-18 07:35:19 +00:00
tsic404
2f185bf3ce chore: resolve v23 merge conflicts
log:
2023-02-16 15:08:28 +08:00
donghualin
5e4c288cea fix: 修复智能隐藏下切换模式显示错乱的问题
原因:在切换模式的时候,需要重新计算任务栏的大小,但是由于时尚模式和高效模式下的尺寸不一样,所以在计算图标的时候会以切换之前的尺寸为参考来进行计算,导致计算的结果错误
修复:在切换模式的时候,提前设置任务栏的尺寸(上下为高度,左右为宽度),这样在下次计算图标的时候获取到的尺寸始终是以正确的尺寸进行计算,任务栏显示正常

Log: 修复智能隐藏下切换模式显示错乱
Influence: 任务栏设置为智能隐藏,从高效模式切换到时尚模式,观察任务栏显示是否正常
Bug: https://pms.uniontech.com/bug-view-176321.html
Change-Id: Ia66cb3e96d4f42c42acc921315e9457d582a82c1
2022-12-14 01:33:00 +00:00
donghualin
477bc09965 fix: 修复重启AM后任务栏崩溃的问题
1、重启AM后,需要重新更新每个子部件的dockInter,因为这些字部件的dockInter是从MultiScreenWorker类中获取的,而MultiScreenWorker类中的dockInter已经被释放重新获取了;
2、重新启动AM后,由于任务栏会重新执行positionChanged的方法,在这个过程中会执行300毫秒的动画,在动画执行完成后,会判断当前服务是否重启过,如果重启过服务,则重新刷新界面

Log: 修复重启AM后任务栏崩溃的问题
Influence: 重启AM服务,观察任务栏是否重启
Task: https://pms.uniontech.com/task-view-225201.html
Change-Id: I1d5337fe7a0101450dfce7338d32aad73c14f697
2022-12-14 01:33:00 +00:00
范朋程
3efc00ac29 fix: 修复控制中心调节透明度对任务栏无作用的问题
控制中心使用了Appearance的接口,任务栏需要适配

Log: 修复控制中心调节透明度对任务栏无作用的问题
Influence: 任务栏透明度调节
Task: https://pms.uniontech.com/task-view-226127.html
Change-Id: I3c2edcb82155bdc65220c25c9e139d34c0e92d34
2022-12-13 19:12:46 +08:00
范朋程
16d8ee9253 feat: 隐藏显示动画调整
任务栏智能隐藏或一直隐藏时,鼠标移动到屏幕边缘过一段时间再唤起任务栏
DConfig配置:delayIntervalOnHide,默认值0,单位毫秒

Log: 隐藏显示动画调整
Change-Id: I3a93a868e790566b6548f83ff740f5913db9bcc8
2022-12-06 10:05:28 +00:00
范朋程
2d958dd670 chore: V23接口改造适配
V23接口改造适配

Log: V23接口改造适配
Influence: 无
Task: https://pms.uniontech.com/task-view-207483.html
Change-Id: Ide530c023ea41f86fad2e8001ec67f1afaa897ab
2022-12-06 14:40:35 +08:00
YinJie
696432d0d2 fix: 时尚模式strut设置错误
wayland环境下计算时尚模式的strut时没有加上 margin,导致应用最大化的时候与任务栏区域有重叠

Log: 修复时尚模式应用最大化与任务栏有重叠区域的问题
Bug: https://pms.uniontech.com/bug-view-157187.html
Influence: 任务栏时尚模式
Change-Id: I23dfdb44ce96358d96fc289ca19bcf49c3d90994
2022-09-27 09:35:04 +08:00
donghualin
c7826edd46 fix: 删除任务栏对libdframeworkdbus-dev库的依赖
1、删除项目中对libdframeworkdbus-dev库的依赖,通过使用xml2cpp的工具来自动生成dbus接口文件,在使用到dbus库的项目中包含生成文件的目录
2、修改相关服务中v20的接口(com.deepin...)为v23的接口(org.deepin...)

Log:
Influence: 打开控制中心,鼠标移动唤醒任务栏、加载插件等,观察相关功能是否正常
Task: https://pms.uniontech.com/task-view-182009.html
Change-Id: I960c849d06ed271ebbb9f8e479d9879967523581
2022-09-19 11:41:31 +00:00
Robert
0427e19b72
chore: adapt license and copyright (#680)
Modify project to pass the REUSE check

Log: Modify project to pass the REUSE check
Task: https://pms.uniontech.com/task-view-185215.html
Change-Id: Ie954cf985f16c1a243bfc912aa7458c6e85ce9de
2022-09-06 11:36:55 +08:00
wubowen
1c57108dc1 fix: update daemonDockInterface when the dde-daemon dock interface init after dde-dock
当dock比dde-daemon的dockInterface启动更早,dock会delete该interface指针后重新new
但是在menuworker里面,还是使用的未更新的dockInterface对象,即野指针
因此会导致调用接口后崩溃

Log: Update daemonDockInterface when daemon init behind dock
Influence: 注销右键点击出现菜单栏
Bug: https://pms.uniontech.com/bug-view-155357.html
Change-Id: I666c3e66f3bfbdbd66c230d8d5ea72175b355289
2022-08-26 15:00:03 +08:00
donghualin
1691e7188c fix: 任务栏代码结构优化解耦
原来的TrayManagerWindow的类是放到MainPanelWindow类里面作为它的一部分,导致窗管在显示的时候有很多问题
修改方案:
1、将左右侧区域拆分成两个窗体,让它们继承自相同的基类MainWindowBase。
2、左右区域公共的部分,例如圆角、展示区域、动画获取等,都在基类中实现或者通过接口返回
3、增加WindowManager类,管理所有的界面,WindowManager类无需知道具体子类的指针,只需要根据相应的接口来获取即可
4、所有的界面类在main.cpp中创建,调用WindowManager对象设置
5、拆分MultiScreenWorker类,使MultiScreenWorker类只关心任务栏相关的逻辑,无需关心窗体或界面

Log: 优化任务栏的显示问题
Influence: 打开任务栏,观察时尚模式下圆角,左右侧区域中间是否连接在一起等
Bug: https://pms.uniontech.com/bug-view-137267.html
Bug: https://pms.uniontech.com/bug-view-140029.html
Bug: https://pms.uniontech.com/bug-view-134527.html
Bug: https://pms.uniontech.com/bug-view-146743.html
Bug: https://pms.uniontech.com/bug-view-150293.html
Change-Id: I4266f6f8c983f61258b92834d93cdacd0221d7de
2022-08-25 19:31:44 +00:00
ssk
df74226b34
fix: 修复任务栏概率性显示位置错误的问题 (#559)
通过QScreen::handle获取缩放前的屏幕尺寸出错,导致显示位置错误,目前任务栏换了一个获取尺寸的函数

Log: 修复任务栏概率性显示位置错误的问题
Influence: 设置显示器仅A屏到仅B屏,小概率
Bug: https://pms.uniontech.com/bug-view-126025.html
Change-Id: I465bf033c441bc0c31de741da51fe6c83ff177b1

Co-authored-by: 范朋程 <fanpengcheng@uniontech.com>
2022-08-11 11:35:19 +00:00
范朋程
ebd7ef9c18 chore: 整理项目代码,方便维护
整理代码
对QScreen相关的操作合并到DisplayManager中,便于维护

Log: 整理项目代码,方便维护
Influence: 无
Task: https://pms.uniontech.com/task-view-112769.html
Change-Id: I3efbc2bf45fc1f210fd2e1b9908fc76b317eed71
2022-08-01 17:55:31 +08:00
范朋程
3ec6ffffda test: 添加一些日志,方便调试
添加一些日志,方便调试

Log: 添加一些日志,方便调试
Influence: 添加一些日志,方便调试
Change-Id: If57c7746509316f4b4ab3431a674946c6ff32c48
2022-08-01 17:55:31 +08:00
wang fei
8ce50708e6 fix: wayland下,启动器不支持虚拟键盘输入
wayland下通过判断焦点变化来隐藏启动器。
点击任务栏时,焦点没有变化,不会隐藏启动器。
修改为通过判断鼠标点击事件隐藏启动器。

Log: 修复wayland下,启动器不支持虚拟键盘输入问题
Bug: https://pms.uniontech.com/bug-view-140679.html
Influence: 任务栏-启动器
Change-Id: Iaedbdf9c0ed1a77a7120529eba61fd4bdcd1717f
2022-08-01 17:55:31 +08:00
chenbin
356648a990 fix: 修复任务栏设置右边且一直隐藏时,唤起通知中心显示异常的问题
由于去掉了com.deepin.dde.dock接口的调用,通过后端接口获取的dock的区域是一直显示的区域,导致该问题的出现
一直隐藏时也需要设置dock区域,但当设置为智能隐藏模式时,后端已经处理,隐藏后不需要再次设置dock区域,会导致后端接口循环调用

Log: 修复任务栏设置右边且一直隐藏时,唤起通知中心显示异常的问题
Influence: 唤起通知中心
Bug: https://pms.uniontech.com/bug-view-128235.html
Change-Id: I12b7f23e184b74aa47ae1ec099d75b16a9cc37af
2022-08-01 17:55:31 +08:00
donghualin
03d7942b2f feat: 修改屏幕管理的相关类中对AM接口的访问
多屏幕管理类、菜单管理类中改成AM来访问后端接口

Log:
Influence: 任务栏
Task: https://pms.uniontech.com/task-view-133075.html
Change-Id: I1d7cccbc58b7c5883c4946a2f92510c98e144692
2022-06-22 11:18:59 +08:00
donghualin
4f7704ad6f fix: 修复隐藏模式下无法唤醒任务栏的问题
原因:隐藏模式下会持续发送sizeChanged信号,导致频繁触发隐藏任务栏的函数
修改:接受到sizeChanged信号后,让其显示正常尺寸即可

Log:
Influence: 任务栏-隐藏模式-鼠标唤醒
Task: https://pms.uniontech.com/task-view-112073.html
Change-Id: I1b813d2a3f1d1d96d9e162d4f19cc2579ee26f98
2022-05-27 17:34:21 +08:00
donghualin
4e7b27a395 feat: 任务栏特效模式集成托盘区域和快捷设置的功能
去掉原来的插件设置区域,将最新的托盘和快捷设置的功能集成进来

Log: 任务栏特效模式集成托盘区域和快捷设置的功能
Influence: v23任务栏特效模式
Task: https://pms.uniontech.com/task-view-112073.html
Change-Id: I985f43d2da28464641fa159c8c6b5040c97e7a49
2022-05-12 17:36:19 +08:00
donghualin
59b3628ba2 fix: 修复自动关闭显示屏唤醒后任务栏显示位置的错误
问题原因:在自动关闭显示屏后,底层会先禁用掉显示器然后再开启显示器,前端收到禁用显示器的信号后,会把主屏幕设置为另外一个屏幕,这样任务栏就跑到副屏幕了
解决方案:增加一个类,专门用来处理这种情况,判断是否这种情况的方法是,删除显示器,更新主屏幕和新增显示器的操作在1.5秒之内发生;否则,认为是正常的新增删除调整主屏幕的操作,因为正常的这些操作下,屏幕会黑一下,而且这个黑的时间不止1.5秒

Log: 修复自动关闭显示器再唤醒后任务栏的位置的错误问题
Influence: 任务栏,设置屏幕为1分钟,自动关闭显示器为1分钟,任务栏设置为跟随鼠标,什么都不操作,等1分钟过后再唤醒,观察任务栏的位置
Bug: https://pms.uniontech.com/bug-view-114613.html
Change-Id: I6d2190f2e8394261185ef42d544fba338cbe0e14
2022-03-21 09:46:34 +08:00
donghualin
8c6887108a perf: 优化任务栏监控鼠标位置变化
删除原来的CursorMove信号,无需鼠标移动的时候响应事件,调整监控区域

Log:
Influence: 任务栏-状态为一直隐藏或智能隐藏
Task: https://pms.uniontech.com/zentao/task-view-95700.html
Change-Id: I44ef9f822f14c1183e5806709fd47b2a15d0c6f8
2022-01-05 14:00:26 +08:00
范朋程
075844cb8b fix: 解决控制中心中调整任务栏宽度时任务栏位置显示异常问题
调整位置时通过设置后端的属性,然后dock进行监听到属性变化后,再修改任务栏的位置

Log:
Task: https://pms.uniontech.com/zentao/task-view-89698.html
Influence: 控制中心中调整任务栏高度,任务栏显示异常
Change-Id: I68c385ba6934146675a2fbb224fe3a80b2362b61
2021-10-27 17:24:29 +08:00
范朋程
f51b4f263f chore: 修复cppcheck问题
修复cppcheck问题,不影响功能

Log:
Influence: 不影响
Task: https://pms.uniontech.com/zentao/task-view-88591.html
Change-Id: I6667525b683ee55b73d5aec9c46acf4257a5a2c5
2021-10-18 11:53:55 +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
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
yanghongwei
f02d529942 chore: 修改代码版权声明中的日期
修改代码版权声明中的日期不超过当前日期

Log:
Change-Id: Ibefe837c59fc23e541b9c9cd7249144a1a674e43
2021-06-18 23:10:14 +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
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
1e3d90f62b refactor: 去除对后端Display服务的依赖
后端服务数据变化有快有慢,可能导致任务栏不正确时间进行响应,从而导致显示异常,对应的单元测试代码已添加

Log: 重构显示逻辑,保障任务栏显示正常
Change-Id: I62f06c133945a625c2c2ec2b2e21809be27543b6
2021-04-12 16:53:09 +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
范朋程
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
范朋程
5c30551353 fix: 修复拔掉显示器任务栏崩溃的问题
拔掉主屏幕显示器后,如果设置了仅显示在主屏,那么任务栏会找不到显示的屏幕。导致空指针从而崩溃

Log: 修复拔掉显示器任务栏崩溃的问题
Task: https://pms.uniontech.com/zentao/task-view-61658.html
Change-Id: Ic9d431fc7828039bec9600789a406bf1d8e8f15a
2021-02-19 09:08:43 +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
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
2ef1176873 fix: 添加针对源代码的单元测试,添加触发自动测试代码
因为单元测试需要直接测试源代码,而主程序代码中include的单元使用了相对路径
单元测试的CMakeLists和主程序的CMakeLists路径不同,编译单元测试时会提示找不到文件
因此设置搜索路径,并修改各单元引用头文件的路径。在单元测试的CMakeLists中添加需要依赖

Log: 添加针对源代码的单元测试,添加触发自动测试代码
Change-Id: I0e0bc92c28d6cee42fc52064fc360c58f7c02826
2020-12-22 10:10:20 +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
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
聂成
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
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
范朋程
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
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