Repository navigation
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: wjyrich The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Reviewer's GuideData structuresAdd the overflow controller and popup model that determine visible versus overflow items, preserve recent-app activity, and expose drag state and layout to QML.
Expose docked state through the global element model for overflow entries and drag handling.
APIExtend dock positioning interfaces with cross-window detection, effective bounds, and anchor geometry used by positioners.
Expose the overflow controller to QML and register its type alongside the text calculator.
Uses of the APIWire overflow sizing, hidden delegates, popup reordering, external and internal drag-and-drop, and order persistence into the task manager.
ImplementationTreat trailing overflow extent as part of the layout and prevent zero-width delegates from consuming spacing.
Defer text-width calculations and publish optimal and total widths as a consistent result.
Set the active menu before opening it to avoid close-handler races.
UIAdd the overflow button, recent shortcut, tooltip, popup grid, and popup-item drag behavior.
Extend task items for configurable dragging, popup-preserving menus, preview anchoring, and icon geometry updates across windows.
Anchor folder popup positioning to a configurable item, including items hosted in a different window.
Adjust center-aligned dock space and margins using a shared edge spacing value.
Make disabled app titles contribute no text to the title calculator.
Add translations for the overflow-area tooltip.
ConfigurationLink Qt Quick and include the new overflow controller implementation in the task manager build.
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
1. Add TaskOverflowController to move apps exceeding available dock space into an overflow popup, with recent-app shortcut and drag-out support 2. Introduce TaskOverflowButton UI with popup grid, tooltip, and translations for "Overflow area" 3. Support cross-window dock positioning in DockPositioner/ DockPanelPositioner so tooltips, previews, and popups anchor to items even when delegate windows differ from the panel window 4. Add trailingExtent handling in OverflowContainer and skip spacing for zero-width/hidden delegates 5. Fix MenuHelper to set activeMenu before opening to avoid race with close handlers 6. Center-alignment spacing fix in main.qml using centerAlignmentEdgeSpacing (14) and dockEffectiveCenterSpace 7. Extend AppItem with dragEnabled, dragSource, restorePositionAfterDrag, previewAnchor, updateIconGeometry, and Overflow-specific behaviors; add DockedRole to DockGlobalElementModel 8. Defer TextCalculator calculations via single-shot timer and publish consistent width results 9. Wire internal vs external DnD flows in TaskManager.qml: overflow popup dragging, reorder during overflow, undock on invalid drop, saveOrder on move Log: Added dock taskbar overflow area, overflow popup with recent app, improved cross-window tooltip/preview anchoring, and refined center- aligned dock spacing Influence: 1. Fill the taskbar until icons reach minimum size and verify the overflow button appears and remaining apps move into the popup 2. Click the overflow button to open/close popup, verify grid layout, scrolling, and tooltip "Overflow area" 3. Verify the recent app shortcut shown before the overflow button and that it updates on app activation 4. Drag apps from the overflow popup to the dock to move them back, and confirm undo/restore position after cancelling with Escape 5. Verify cross-window positioning of tooltips, window previews, and folder popups in horizontal and vertical docks 6. Test dock center alignment spacing at all four panel positions and both layouts (row/column) 7. Verify app reordering from taskbar and overflow, and saveDockElementsOrder persistence after restart 8. Test undocking by dragging an internal app out of the dock and re- docking an external app 9. Check that hidden overflow items do not leave extra spacing and animations are smooth 10. Verify TextCalculator schedule stability (no layout jitter when app count changes rapidly) feat: 新增任务栏溢出功能及跨窗口定位 1. 新增 TaskOverflowController,将超出可用空间的应用程序移入溢出弹窗,支 持最近应用快捷项及拖出 2. 新增 TaskOverflowButton 界面,含弹窗网格、悬浮提示及“溢出区域”多语言 翻译 3. 在 DockPositioner/DockPanelPositioner 中支持跨窗口 dock 定位,使提 示、预览及弹窗即使在委托窗口与面板窗口不同时也能正确锚定 4. OverflowContainer 新增 trailingExtent 处理,零宽度/隐藏委托不占额外 间距 5. 修复 MenuHelper 中先设置 activeMenu 再打开菜单,避免关闭回调竞态 6. main.qml 居中排列间距修复,使用 centerAlignmentEdgeSpacing(14)及 dockEffectiveCenterSpace 7. AppItem 扩展 dragEnabled、dragSource、restorePositionAfterDrag、 previewAnchor、updateIconGeometry 等属性;DockGlobalElementModel 新 增 DockedRole 8. TextCalculator 通过单次定时器延迟计算并保持宽度结果一致 9. TaskManager.qml 打通内部与外部拖放流程:溢出弹窗拖放、溢出时重排、无 效放置时取消驻留、移动后保存顺序 Log: 新增任务栏溢出区域、含最近应用的溢出弹窗、改进跨窗口提示/预览锚定, 并优化居中对齐的任务栏间距 Influence: 1. 填满任务栏直至图标缩至最小尺寸,验证溢出按钮出现且剩余应用进入弹窗 2. 点击溢出按钮打开/关闭弹窗,验证网格布局、滚动及“溢出区域”提示 3. 验证溢出按钮前的最近应用快捷项,并在应用激活时正确更新 4. 从溢出弹窗拖拽应用到任务栏以移回,验证取消(Esc)后位置恢复 5. 在水平和垂直任务栏下验证提示、窗口预览及文件夹弹窗的跨窗口定位 6. 在四个面板位置及两种布局(行/列)下测试居中对齐间距 7. 验证任务栏及溢出区域内的应用重排,以及重启后 saveDockElementsOrder 的 持久化 8. 测试将内部应用拖出任务栏取消驻留,以及外部应用重新驻留 9. 检查隐藏的溢出项不产生多余间距且动画流畅 10. 验证 TextCalculator 调度稳定性(应用数量频繁变化时无布局抖动) PMS: TASK-395671
177b3fb to
7b67f1b
Compare
deepin pr auto review🤖 AI 代码审查报告📊 总体评价
🔍 详细分析1. 语法逻辑 ✅评价: 语法正确,逻辑清晰 ✅ 通过 潜在问题: 建议: [] 2. 代码质量 ✅评价: 代码结构清晰,注释完整 ✅ 通过 潜在问题: 建议: ['考虑将 syncRecentItem() 拆分为 updateRecentHistory() 和 selectRecentItem() 两个子函数', '考虑将 DockPanelPositioner::updatePosition() 的 crossWindow 分支提取为独立方法'] 3. 代码性能 ✅评价: 性能良好,资源使用合理 ✅ 通过 潜在问题: 建议: [] 4. 代码安全 🔒评价: 存在0个安全漏洞 ✅ 通过
安全漏洞详情: 建议: [] 💡 改进建议代码示例本报告由 AI 代码审查工具自动生成 |
Log: Added dock taskbar overflow area, overflow popup with recent app, improved cross-window tooltip/preview anchoring, and refined center- aligned dock spacing
Influence:
feat: 新增任务栏溢出功能及跨窗口定位
Log: 新增任务栏溢出区域、含最近应用的溢出弹窗、改进跨窗口提示/预览锚定,
并优化居中对齐的任务栏间距
Influence:
PMS: TASK-395671
Summary by Sourcery
Add taskbar overflow handling and improve dock layout, drag-and-drop, and cross-window popup positioning.
New Features:
Bug Fixes:
Enhancements:
Build:
Chores: