From e43b1eaf0494e3da48965539c72c1eda3f012942 Mon Sep 17 00:00:00 2001 From: Mentalflow <312902918@qq.com> Date: Sun, 30 Jun 2024 22:05:22 +0800 Subject: [PATCH] RibbonTitleBar,RibbonWindow: Add window active animation for window's btns in macOS. --- lib_source/qml/Qt5/RibbonTitleBar.qml | 4 ++-- lib_source/qml/Qt5/RibbonWindow.qml | 6 ++++++ lib_source/qml/Qt6/RibbonTitleBar.qml | 4 ++-- lib_source/qml/Qt6/RibbonWindow.qml | 6 ++++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib_source/qml/Qt5/RibbonTitleBar.qml b/lib_source/qml/Qt5/RibbonTitleBar.qml index 9e5f3a7..37de611 100644 --- a/lib_source/qml/Qt5/RibbonTitleBar.qml +++ b/lib_source/qml/Qt5/RibbonTitleBar.qml @@ -112,11 +112,11 @@ Item { top: parent.top left: parent.left bottom: parent.bottom - leftMargin: Qt.platform.os === "osx" && Window.window.visibility === Window.Windowed ? 65 : 10 + leftMargin: Qt.platform.os === "osx" && Window.window.visibility === Window.Windowed && Window.active ? 65 : 10 } Behavior on anchors.leftMargin { NumberAnimation{ - duration: 100 + duration: 50 easing.type: Easing.OutSine } } diff --git a/lib_source/qml/Qt5/RibbonWindow.qml b/lib_source/qml/Qt5/RibbonWindow.qml index f60cc92..17535fe 100644 --- a/lib_source/qml/Qt5/RibbonWindow.qml +++ b/lib_source/qml/Qt5/RibbonWindow.qml @@ -34,6 +34,12 @@ Window { } return '#FFFFFF' } + + onActiveChanged: { + if(Qt.platform.os === "osx") + PlatformSupport.showSystemTitleBtns(window,active) + } + onBlurBehindWindowChanged: { if (Qt.platform.os === 'windows') windowAgent.setWindowAttribute("dwm-blur", blurBehindWindow) diff --git a/lib_source/qml/Qt6/RibbonTitleBar.qml b/lib_source/qml/Qt6/RibbonTitleBar.qml index 405cb06..79c7582 100644 --- a/lib_source/qml/Qt6/RibbonTitleBar.qml +++ b/lib_source/qml/Qt6/RibbonTitleBar.qml @@ -112,11 +112,11 @@ Item { top: parent.top left: parent.left bottom: parent.bottom - leftMargin: Qt.platform.os === "osx" && Window.window.visibility === Window.Windowed ? 65 : 10 + leftMargin: Qt.platform.os === "osx" && Window.window.visibility === Window.Windowed && Window.active ? 65 : 10 } Behavior on anchors.leftMargin { NumberAnimation{ - duration: 100 + duration: 50 easing.type: Easing.OutSine } } diff --git a/lib_source/qml/Qt6/RibbonWindow.qml b/lib_source/qml/Qt6/RibbonWindow.qml index f0e5728..9f65f0a 100644 --- a/lib_source/qml/Qt6/RibbonWindow.qml +++ b/lib_source/qml/Qt6/RibbonWindow.qml @@ -34,6 +34,12 @@ Window { } return '#FFFFFF' } + + onActiveChanged: { + if(Qt.platform.os === "osx") + PlatformSupport.showSystemTitleBtns(window,active) + } + onBlurBehindWindowChanged: { if (Qt.platform.os === 'windows') windowAgent.setWindowAttribute("dwm-blur", blurBehindWindow)