Skip to content

Commit 712c1d4

Browse files
committed
fix(dock): align multitask view to first app gap with app icon spacing
Add leftPadding to TaskManager to compensate for the multitask view's implicit width being wider than its icon, ensuring the visual gap matches appTitleSpacing. 为TaskManager添加leftPadding属性,补偿多任务视图的宽度大于其图标 本身所产生的视觉偏移,使多任务视图与首个驻留应用的间距与应用图标 间距保持一致。 Log: 修复任务栏多任务视图与首个应用图标间距不一致的问题 PMS: BUG-364263 Influence: 多任务视图按钮与首个驻留应用图标的间距现在与应用图标之间的间距一致,视觉上更加统一。
1 parent 273db49 commit 712c1d4

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

panels/dock/taskmanager/package/TaskManager.qml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,21 @@ ContainmentItem {
1616
property int dockOrder: 16
1717
property real remainingSpacesForTaskManager: Panel.rootObject.dockRemainingSpaceForCenter
1818
readonly property int appTitleSpacing: Math.max(10, Math.round(Panel.rootObject.dockItemMaxSize * 9 / 14) / 3)
19+
// Left/top padding for the app container so that the visual gap
20+
// (multitask icon right edge → first app icon left edge) = appTitleSpacing.
21+
// Compensates for the multitask view's box being wider than its icon.
22+
readonly property real leftPadding: Math.max(0, appTitleSpacing - (Panel.rootObject.dockItemMaxSize * (0.8 - 9 / 14) / 2))
1923

2024
implicitWidth: {
21-
let maxW = Panel.itemAlignment === Dock.LeftAlignment ? Math.max(remainingSpacesForTaskManager, appContainer.implicitWidth) : Math.min(remainingSpacesForTaskManager, appContainer.implicitWidth)
25+
let extra = useColumnLayout ? 0 : leftPadding
26+
let w = appContainer.implicitWidth + extra
27+
let maxW = Panel.itemAlignment === Dock.LeftAlignment ? Math.max(remainingSpacesForTaskManager, w) : Math.min(remainingSpacesForTaskManager, w)
2228
return useColumnLayout ? Panel.rootObject.dockSize : maxW
2329
}
2430
implicitHeight: {
25-
let maxH = Panel.itemAlignment === Dock.LeftAlignment ? Math.max(remainingSpacesForTaskManager, appContainer.implicitHeight) : Math.min(remainingSpacesForTaskManager, appContainer.implicitHeight)
31+
let extra = useColumnLayout ? leftPadding : 0
32+
let h = appContainer.implicitHeight + extra
33+
let maxH = Panel.itemAlignment === Dock.LeftAlignment ? Math.max(remainingSpacesForTaskManager, h) : Math.min(remainingSpacesForTaskManager, h)
2634
return useColumnLayout ? maxH : Panel.rootObject.dockSize
2735
}
2836
// Helper function to find the current index of an app by its appId in the visualModel
@@ -72,6 +80,8 @@ ContainmentItem {
7280
OverflowContainer {
7381
id: appContainer
7482
anchors.fill: parent
83+
anchors.leftMargin: useColumnLayout ? 0 : taskmanager.leftPadding
84+
anchors.topMargin: useColumnLayout ? taskmanager.leftPadding : 0
7585
useColumnLayout: taskmanager.useColumnLayout
7686
spacing: taskmanager.appTitleSpacing
7787
remove: Transition {

0 commit comments

Comments
 (0)