From e226599396dce220439b1b557c1753bebffe411e Mon Sep 17 00:00:00 2001 From: Polaris-Night <158275221@qq.com> Date: Mon, 17 Feb 2025 23:24:31 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8DFluCarousel=E8=AE=BE?= =?UTF-8?q?=E7=BD=AEautoPlay=E4=B8=BAfalse=E6=97=B6=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E7=BF=BB=E9=A1=B5=E4=BB=8D=E8=A7=A6=E5=8F=91=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=BD=AE=E6=92=AD=E7=BF=BB=E9=A1=B5=E9=97=AE=E9=A2=98=20issue:?= =?UTF-8?q?=20#563?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Qt5/imports/FluentUI/Controls/FluCarousel.qml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Qt5/imports/FluentUI/Controls/FluCarousel.qml b/src/Qt5/imports/FluentUI/Controls/FluCarousel.qml index 4ee914f0..5ac5ce36 100644 --- a/src/Qt5/imports/FluentUI/Controls/FluCarousel.qml +++ b/src/Qt5/imports/FluentUI/Controls/FluCarousel.qml @@ -95,7 +95,9 @@ Item { currentIndex = 1 } d.flagXChanged = false - timer_run.restart() + if(d.isAnimEnable){ + timer_run.restart() + } } onMovementStarted: { d.flagXChanged = true From 2e5c09bfff203f058c080c41712a2e320bc06f65 Mon Sep 17 00:00:00 2001 From: Polaris-Night <158275221@qq.com> Date: Mon, 17 Feb 2025 23:30:15 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8DFluCarousel=E8=AE=BE?= =?UTF-8?q?=E7=BD=AEautoPlay=E4=B8=BAfalse=E6=97=B6=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=97=A0=E9=99=90=E5=90=91=E5=B7=A6/=E5=8F=B3=E7=BF=BB?= =?UTF-8?q?=E9=A1=B5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Qt5/imports/FluentUI/Controls/FluCarousel.qml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Qt5/imports/FluentUI/Controls/FluCarousel.qml b/src/Qt5/imports/FluentUI/Controls/FluCarousel.qml index 5ac5ce36..bc26df83 100644 --- a/src/Qt5/imports/FluentUI/Controls/FluCarousel.qml +++ b/src/Qt5/imports/FluentUI/Controls/FluCarousel.qml @@ -24,7 +24,7 @@ Item { } QtObject{ id:d - property bool flagXChanged: true + property bool flagXChanged: false property bool isAnimEnable: control.autoPlay && list_view.count>3 function setData(data){ if(!data){ @@ -88,13 +88,14 @@ Item { } } onMovementEnded:{ + d.flagXChanged = false + list_view.highlightMoveDuration = 0 currentIndex = list_view.contentX/list_view.width if(currentIndex === 0){ currentIndex = list_view.count-2 }else if(currentIndex === list_view.count-1){ currentIndex = 1 } - d.flagXChanged = false if(d.isAnimEnable){ timer_run.restart() } @@ -106,12 +107,12 @@ Item { onContentXChanged: { if(d.flagXChanged){ var maxX = Math.min(list_view.width*(currentIndex+1),list_view.count*list_view.width) - var minY = Math.max(0,(list_view.width*(currentIndex-1))) + var minX = Math.max(0,(list_view.width*(currentIndex-1))) if(contentX>=maxX){ contentX = maxX } - if(contentX<=minY){ - contentX = minY + if(contentX<=minX){ + contentX = minX } } } From 6b4ca8e6fbd7d3d1fb2b9ebb188b811ecfd3bb21 Mon Sep 17 00:00:00 2001 From: Polaris-Night <67040421+Polaris-Night@users.noreply.github.com> Date: Tue, 18 Feb 2025 14:18:41 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=90=8C=E6=AD=A5Qt6=E9=83=A8=E5=88=86FluC?= =?UTF-8?q?arousel=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Qt6/imports/FluentUI/Controls/FluCarousel.qml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Qt6/imports/FluentUI/Controls/FluCarousel.qml b/src/Qt6/imports/FluentUI/Controls/FluCarousel.qml index 844b8d9d..cb364bb8 100644 --- a/src/Qt6/imports/FluentUI/Controls/FluCarousel.qml +++ b/src/Qt6/imports/FluentUI/Controls/FluCarousel.qml @@ -24,7 +24,7 @@ Item { } QtObject{ id:d - property bool flagXChanged: true + property bool flagXChanged: false property bool isAnimEnable: control.autoPlay && list_view.count>3 function setData(data){ if(!data){ @@ -88,14 +88,17 @@ Item { } } onMovementEnded:{ + d.flagXChanged = false + list_view.highlightMoveDuration = 0 currentIndex = list_view.contentX/list_view.width if(currentIndex === 0){ currentIndex = list_view.count-2 }else if(currentIndex === list_view.count-1){ currentIndex = 1 } - d.flagXChanged = false - timer_run.restart() + if(d.isAnimEnable){ + timer_run.restart() + } } onMovementStarted: { d.flagXChanged = true @@ -104,12 +107,12 @@ Item { onContentXChanged: { if(d.flagXChanged){ var maxX = Math.min(list_view.width*(currentIndex+1),list_view.count*list_view.width) - var minY = Math.max(0,(list_view.width*(currentIndex-1))) + var minX = Math.max(0,(list_view.width*(currentIndex-1))) if(contentX>=maxX){ contentX = maxX } - if(contentX<=minY){ - contentX = minY + if(contentX<=minX){ + contentX = minX } } }