From fde55d254c70c0b362749ce7f84c763185f89f81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Tue, 19 Dec 2023 20:15:48 +0800 Subject: [PATCH] update --- example/qml-Qt6/window/MainWindow.qml | 4 +- example/qml/window/MainWindow.qml | 4 +- .../imports/FluentUI/Controls/FluWindow.qml | 22 ++-- src/Qt5/imports/FluentUI/plugins.qmltypes | 117 ++++++++++++++++-- .../imports/FluentUI/Controls/FluWindow.qml | 22 ++-- 5 files changed, 136 insertions(+), 33 deletions(-) diff --git a/example/qml-Qt6/window/MainWindow.qml b/example/qml-Qt6/window/MainWindow.qml index 56de8c1b..b331675a 100644 --- a/example/qml-Qt6/window/MainWindow.qml +++ b/example/qml-Qt6/window/MainWindow.qml @@ -240,7 +240,7 @@ FluWindow { id:com_reveal CircularReveal{ id:reveal - target:window.contentItem + target:window.layoutContainer() anchors.fill: parent onAnimationFinished:{ //动画结束后释放资源 @@ -269,7 +269,7 @@ FluWindow { return } loader_reveal.sourceComponent = com_reveal - var target = window.contentItem + var target = window.layoutContainer() var pos = button.mapToItem(target,0,0) var mouseX = pos.x var mouseY = pos.y diff --git a/example/qml/window/MainWindow.qml b/example/qml/window/MainWindow.qml index 616dd461..d719fea5 100644 --- a/example/qml/window/MainWindow.qml +++ b/example/qml/window/MainWindow.qml @@ -243,7 +243,7 @@ FluWindow { id:com_reveal CircularReveal{ id:reveal - target:window.contentItem + target:window.layoutContainer() anchors.fill: parent onAnimationFinished:{ //动画结束后释放资源 @@ -272,7 +272,7 @@ FluWindow { return } loader_reveal.sourceComponent = com_reveal - var target = window.contentItem + var target = window.layoutContainer() var pos = button.mapToItem(target,0,0) var mouseX = pos.x var mouseY = pos.y diff --git a/src/Qt5/imports/FluentUI/Controls/FluWindow.qml b/src/Qt5/imports/FluentUI/Controls/FluWindow.qml index 17a8f0d5..79631494 100644 --- a/src/Qt5/imports/FluentUI/Controls/FluWindow.qml +++ b/src/Qt5/imports/FluentUI/Controls/FluWindow.qml @@ -5,7 +5,7 @@ import QtQuick.Layouts 1.15 import FluentUI 1.0 Window { - default property alias content: container.data + default property alias content: layout_content.data property string windowIcon: FluApp.windowIcon property bool closeDestory: true property int launchMode: FluWindowType.Standard @@ -168,14 +168,11 @@ Window { } } } - FluLoader{ - anchors.fill: parent - sourceComponent: background - } FluLoader{ id:loader_frameless } Item{ + id:layout_container property int offsetX: { if(window.visibility === Window.Maximized){ return Math.abs(window.x-Screen.virtualX) @@ -198,6 +195,10 @@ Window { onWidthChanged: { window.appBar.width = width } + FluLoader{ + anchors.fill: parent + sourceComponent: background + } FluLoader{ id:loader_app_bar anchors { @@ -214,7 +215,7 @@ Window { sourceComponent: window.useSystemAppBar ? undefined : com_app_bar } Item{ - id:container + id:layout_content anchors{ top: loader_app_bar.bottom left: parent.left @@ -227,7 +228,7 @@ Window { property string loadingText: "加载中..." property bool cancel: false id:loader_loading - anchors.fill: container + anchors.fill: layout_content } FluInfoBar{ id:infoBar @@ -286,7 +287,10 @@ Window { _pageRegister.onResult(data) } } - function containerItem(){ - return container + function layoutContainer(){ + return layout_container + } + function layoutContent(){ + return layout_content } } diff --git a/src/Qt5/imports/FluentUI/plugins.qmltypes b/src/Qt5/imports/FluentUI/plugins.qmltypes index 6fb9b0e9..b5da91c8 100644 --- a/src/Qt5/imports/FluentUI/plugins.qmltypes +++ b/src/Qt5/imports/FluentUI/plugins.qmltypes @@ -4,7 +4,7 @@ import QtQuick.tooling 1.2 // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -nonrelocatable FluentUI 1.0 D:/QtProjects/build-FluentUI-Desktop_Qt_5_15_2_MSVC2019_64bit-Release/src' +// 'qmlplugindump -nonrelocatable FluentUI 1.0 D:\QtProjects\build-FluentUI-Desktop_Qt_5_15_2_MSVC2019_64bit-Release\src' Module { dependencies: ["QtQuick 2.0"] @@ -75,6 +75,12 @@ Module { Parameter { name: "data"; type: "QVariantMap" } } } + Component { + name: "FluFramelessHelper" + prototype: "QObject" + exports: ["FluentUI/FluFramelessHelper 1.0"] + exportMetaObjectRevisions: [0] + } Component { name: "FluNavigationViewType" exports: ["FluentUI/FluNavigationViewType 1.0"] @@ -1866,6 +1872,11 @@ Module { type: "NetworkParams*" Parameter { name: "target"; type: "QObject"; isPointer: true } } + Method { + name: "openLog" + type: "NetworkParams*" + Parameter { name: "val"; type: "QVariant" } + } Method { name: "go" Parameter { name: "result"; type: "NetworkCallable"; isPointer: true } @@ -2538,17 +2549,12 @@ Module { exportMetaObjectRevisions: [0] isComposite: true defaultProperty: "data" - Property { name: "window"; type: "QVariant" } - Property { name: "jsChart"; type: "QVariant" } Property { name: "chartType"; type: "string" } Property { name: "chartData"; type: "QVariant" } Property { name: "chartOptions"; type: "QVariant" } Property { name: "chartAnimationProgress"; type: "double" } Property { name: "animationEasingType"; type: "int" } Property { name: "animationDuration"; type: "double" } - Property { name: "memorizedContext"; type: "QVariant" } - Property { name: "memorizedData"; type: "QVariant" } - Property { name: "memorizedOptions"; type: "QVariant" } Property { name: "animationRunning"; type: "bool" } Signal { name: "animationFinished" } Method { name: "animateToNewData"; type: "QVariant" } @@ -2649,9 +2655,13 @@ Module { Property { name: "neutralText"; type: "string" } Property { name: "negativeText"; type: "string" } Property { name: "positiveText"; type: "string" } + Property { name: "messageTextFormart"; type: "int" } Property { name: "delayTime"; type: "int" } Property { name: "buttonFlags"; type: "int" } - Property { name: "messageTextFormart"; type: "int" } + Property { name: "contentDelegate"; type: "QVariant" } + Property { name: "onNeutralClickListener"; type: "QVariant" } + Property { name: "onNegativeClickListener"; type: "QVariant" } + Property { name: "onPositiveClickListener"; type: "QVariant" } Signal { name: "neutralClicked" } Signal { name: "negativeClicked" } Signal { name: "positiveClicked" } @@ -3003,15 +3013,15 @@ Module { defaultProperty: "data" Property { name: "logo"; type: "QUrl" } Property { name: "title"; type: "string" } - Property { name: "items"; type: "FluObject_QMLTYPE_124"; isPointer: true } - Property { name: "footerItems"; type: "FluObject_QMLTYPE_124"; isPointer: true } + Property { name: "items"; type: "FluObject_QMLTYPE_125"; isPointer: true } + Property { name: "footerItems"; type: "FluObject_QMLTYPE_125"; isPointer: true } Property { name: "displayMode"; type: "int" } Property { name: "autoSuggestBox"; type: "QQmlComponent"; isPointer: true } Property { name: "actionItem"; type: "QQmlComponent"; isPointer: true } Property { name: "topPadding"; type: "int" } Property { name: "pageMode"; type: "int" } - Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_39"; isPointer: true } - Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_39"; isPointer: true } + Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_34"; isPointer: true } + Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_34"; isPointer: true } Property { name: "navCompactWidth"; type: "int" } Property { name: "navTopMargin"; type: "int" } Property { name: "cellHeight"; type: "int" } @@ -3758,6 +3768,91 @@ Module { Method { name: "allExpand"; type: "QVariant" } Method { name: "allCollapse"; type: "QVariant" } } + Component { + prototype: "QQuickWindowQmlImpl" + name: "FluentUI/FluWindow 1.0" + exports: ["FluentUI/FluWindow 1.0"] + exportMetaObjectRevisions: [0] + isComposite: true + defaultProperty: "content" + Property { name: "windowIcon"; type: "string" } + Property { name: "closeDestory"; type: "bool" } + Property { name: "launchMode"; type: "int" } + Property { name: "argument"; type: "QVariant" } + Property { name: "background"; type: "QVariant" } + Property { name: "fixSize"; type: "bool" } + Property { name: "loadingItem"; type: "QQmlComponent"; isPointer: true } + Property { name: "fitsAppBarWindows"; type: "bool" } + Property { name: "appBar"; type: "QQuickItem"; isPointer: true } + Property { name: "backgroundColor"; type: "QColor" } + Property { name: "stayTop"; type: "bool" } + Property { name: "_pageRegister"; type: "QVariant" } + Property { name: "_route"; type: "string" } + Property { name: "showDark"; type: "bool" } + Property { name: "showClose"; type: "bool" } + Property { name: "showMinimize"; type: "bool" } + Property { name: "showMaximize"; type: "bool" } + Property { name: "showStayTop"; type: "bool" } + Property { name: "autoMaximize"; type: "bool" } + Property { name: "useSystemAppBar"; type: "bool" } + Property { name: "resizeBorderColor"; type: "QColor" } + Property { name: "resizeBorderWidth"; type: "int" } + Property { name: "closeListener"; type: "QVariant" } + Property { name: "content"; type: "QObject"; isList: true; isReadonly: true } + Signal { + name: "initArgument" + Parameter { name: "argument"; type: "QVariant" } + } + Signal { name: "firstVisible" } + Method { name: "destoryOnClose"; type: "QVariant" } + Method { + name: "showLoading" + type: "QVariant" + Parameter { name: "text"; type: "QVariant" } + Parameter { name: "cancel"; type: "QVariant" } + } + Method { name: "hideLoading"; type: "QVariant" } + Method { + name: "showSuccess" + type: "QVariant" + Parameter { name: "text"; type: "QVariant" } + Parameter { name: "duration"; type: "QVariant" } + Parameter { name: "moremsg"; type: "QVariant" } + } + Method { + name: "showInfo" + type: "QVariant" + Parameter { name: "text"; type: "QVariant" } + Parameter { name: "duration"; type: "QVariant" } + Parameter { name: "moremsg"; type: "QVariant" } + } + Method { + name: "showWarning" + type: "QVariant" + Parameter { name: "text"; type: "QVariant" } + Parameter { name: "duration"; type: "QVariant" } + Parameter { name: "moremsg"; type: "QVariant" } + } + Method { + name: "showError" + type: "QVariant" + Parameter { name: "text"; type: "QVariant" } + Parameter { name: "duration"; type: "QVariant" } + Parameter { name: "moremsg"; type: "QVariant" } + } + Method { + name: "registerForWindowResult" + type: "QVariant" + Parameter { name: "path"; type: "QVariant" } + } + Method { name: "moveWindowToDesktopCenter"; type: "QVariant" } + Method { + name: "onResult" + type: "QVariant" + Parameter { name: "data"; type: "QVariant" } + } + Method { name: "containerItem"; type: "QVariant" } + } Component { prototype: "QQuickRow" name: "FluentUI/NumberBox 1.0" diff --git a/src/Qt6/imports/FluentUI/Controls/FluWindow.qml b/src/Qt6/imports/FluentUI/Controls/FluWindow.qml index a990af1b..f39e48d8 100644 --- a/src/Qt6/imports/FluentUI/Controls/FluWindow.qml +++ b/src/Qt6/imports/FluentUI/Controls/FluWindow.qml @@ -4,7 +4,7 @@ import QtQuick.Layouts import FluentUI Window { - default property alias content: container.data + default property alias content: layout_content.data property string windowIcon: FluApp.windowIcon property bool closeDestory: true property int launchMode: FluWindowType.Standard @@ -167,14 +167,11 @@ Window { } } } - FluLoader{ - anchors.fill: parent - sourceComponent: background - } FluLoader{ id:loader_frameless } Item{ + id:layout_container property int offsetX: { if(window.visibility === Window.Maximized){ return Math.abs(window.x-Screen.virtualX) @@ -197,6 +194,10 @@ Window { onWidthChanged: { window.appBar.width = width } + FluLoader{ + anchors.fill: parent + sourceComponent: background + } FluLoader{ id:loader_app_bar anchors { @@ -213,7 +214,7 @@ Window { sourceComponent: window.useSystemAppBar ? undefined : com_app_bar } Item{ - id:container + id:layout_content anchors{ top: loader_app_bar.bottom left: parent.left @@ -226,7 +227,7 @@ Window { property string loadingText: "加载中..." property bool cancel: false id:loader_loading - anchors.fill: container + anchors.fill: layout_content } FluInfoBar{ id:infoBar @@ -285,7 +286,10 @@ Window { _pageRegister.onResult(data) } } - function containerItem(){ - return container + function layoutContainer(){ + return layout_container + } + function layoutContent(){ + return layout_content } }