From daf92f36e1b1eee63b1b6a4c3b36a47c34809ac3 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 26 May 2025 11:43:09 +0800 Subject: dashboard: fix tab indicator animation --- modules/dashboard/Content.qml | 4 +++- modules/dashboard/Tabs.qml | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/dashboard/Content.qml b/modules/dashboard/Content.qml index fc2046f..4026989 100644 --- a/modules/dashboard/Content.qml +++ b/modules/dashboard/Content.qml @@ -10,11 +10,12 @@ Item { id: root required property PersistentProperties visibilities + readonly property real nonAnimWidth: view.implicitWidth + viewWrapper.anchors.margins * 2 anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: parent.bottom - implicitWidth: view.implicitWidth + viewWrapper.anchors.margins * 2 + implicitWidth: nonAnimWidth implicitHeight: tabs.implicitHeight + tabs.anchors.topMargin + view.implicitHeight + viewWrapper.anchors.margins * 2 Tabs { @@ -26,6 +27,7 @@ Item { anchors.topMargin: Appearance.padding.normal anchors.margins: Appearance.padding.large + nonAnimWidth: root.nonAnimWidth currentIndex: view.currentIndex } diff --git a/modules/dashboard/Tabs.qml b/modules/dashboard/Tabs.qml index f50639c..d33940a 100644 --- a/modules/dashboard/Tabs.qml +++ b/modules/dashboard/Tabs.qml @@ -8,9 +8,10 @@ import QtQuick.Controls Item { id: root + required property real nonAnimWidth property alias currentIndex: bar.currentIndex - implicitHeight: bar.height + indicator.height + indicator.anchors.topMargin + separator.height + implicitHeight: bar.implicitHeight + indicator.implicitHeight + indicator.anchors.topMargin + separator.implicitHeight TabBar { id: bar @@ -53,7 +54,8 @@ Item { x: { const tab = bar.currentItem; - return tab.x + (tab.width - tab.implicitWidth) / 2; + const width = (root.nonAnimWidth - DashboardConfig.sizes.tabIndicatorSpacing * (bar.count - 1) * 2) / bar.count + return width * tab.TabBar.index + (width - tab.implicitWidth) / 2; } clip: true -- cgit v1.2.3-freya