From fa7439f2439efffbce3b6842e7ea407ebc88bcbf Mon Sep 17 00:00:00 2001 From: Mentalflow <312902918@qq.com> Date: Sat, 24 May 2025 00:49:55 +0800 Subject: [PATCH] RibbonTour, RibbonTourItem: Performance improved in properties change and color. --- lib_source/qml/Qt5/RibbonTour.qml | 11 +++-------- lib_source/qml/Qt5/RibbonTourItem.qml | 8 ++++++++ lib_source/qml/Qt6/RibbonTour.qml | 7 +------ lib_source/qml/Qt6/RibbonTourItem.qml | 8 ++++++++ 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/lib_source/qml/Qt5/RibbonTour.qml b/lib_source/qml/Qt5/RibbonTour.qml index cf0a7b3..9a3970a 100644 --- a/lib_source/qml/Qt5/RibbonTour.qml +++ b/lib_source/qml/Qt5/RibbonTour.qml @@ -34,7 +34,7 @@ Popup { y: (Overlay.overlay.height - height) / 2 closePolicy: Popup.NoAutoClose Overlay.modal:Rectangle{ - color: !RibbonTheme.isDarkMode ? Qt.rgba(255,255,255,0.5) : Qt.rgba(0,0,0,0.5) + color: !RibbonTheme.isDarkMode ? RibbonUI.alpha("white", 0.5) : RibbonUI.alpha("black", 0.5) } Overlay.modeless:Rectangle{ color:"transparent" @@ -56,7 +56,7 @@ Popup { radius: 7 maskOpacity: blurEnabled ? 0.9 : 1 maskBorderColor: RibbonTheme.modernStyle ? - RibbonTheme.isDarkMode ? "#7A7A7A" : "#2C59B7" : + RibbonTheme.isDarkMode ? "#7A7A7A" : "#2C59B7" : RibbonTheme.isDarkMode ? "#5C5D5D" : "#B5B4B5" maskBorderWidth: 1 } @@ -154,15 +154,10 @@ Popup { if(data_container.resources[index] instanceof RibbonTourItem) { let item = data_container.resources[index] - item.titleChanged.connect(function(){ + item.propertiesUpdated.connect(function(){ item.getPropertiesReady() targetList[item.id] = item.properties }) - if(item.text){ - item.textChanged.connect(function(){ - targetList[item.id].text = item.text - }) - } item.id = targetList.length item.getPropertiesReady() targetList.push(item.properties) diff --git a/lib_source/qml/Qt5/RibbonTourItem.qml b/lib_source/qml/Qt5/RibbonTourItem.qml index b5d2c3b..774b424 100644 --- a/lib_source/qml/Qt5/RibbonTourItem.qml +++ b/lib_source/qml/Qt5/RibbonTourItem.qml @@ -10,4 +10,12 @@ RibbonObject { property var enterFunc property var exitFunc property_names: ['title','text','target','enterFunc','exitFunc'] + + signal propertiesUpdated() + + onTitleChanged: propertiesUpdated() + onTextChanged: propertiesUpdated() + onTargetChanged: propertiesUpdated() + onEnterFuncChanged: propertiesUpdated() + onExitFuncChanged: propertiesUpdated() } diff --git a/lib_source/qml/Qt6/RibbonTour.qml b/lib_source/qml/Qt6/RibbonTour.qml index 5311f45..4ae9ce4 100644 --- a/lib_source/qml/Qt6/RibbonTour.qml +++ b/lib_source/qml/Qt6/RibbonTour.qml @@ -155,15 +155,10 @@ Popup { if(data_container.resources[index] instanceof RibbonTourItem) { let item = data_container.resources[index] - item.titleChanged.connect(function(){ + item.propertiesUpdated.connect(function(){ item.getPropertiesReady() targetList[item.id] = item.properties }) - if(item.text){ - item.textChanged.connect(function(){ - targetList[item.id].text = item.text - }) - } item.id = targetList.length item.getPropertiesReady() targetList.push(item.properties) diff --git a/lib_source/qml/Qt6/RibbonTourItem.qml b/lib_source/qml/Qt6/RibbonTourItem.qml index 10f172f..e860789 100644 --- a/lib_source/qml/Qt6/RibbonTourItem.qml +++ b/lib_source/qml/Qt6/RibbonTourItem.qml @@ -10,4 +10,12 @@ RibbonObject { property var enterFunc property var exitFunc property_names: ['title','text','target','enterFunc','exitFunc'] + + signal propertiesUpdated() + + onTitleChanged: propertiesUpdated() + onTextChanged: propertiesUpdated() + onTargetChanged: propertiesUpdated() + onEnterFuncChanged: propertiesUpdated() + onExitFuncChanged: propertiesUpdated() }