Compare commits
3 Commits
f4112ee5dc
...
72610da66e
Author | SHA1 | Date |
---|---|---|
|
72610da66e | |
|
fde55d254c | |
|
61659b5e31 |
|
@ -240,7 +240,7 @@ FluWindow {
|
||||||
id:com_reveal
|
id:com_reveal
|
||||||
CircularReveal{
|
CircularReveal{
|
||||||
id:reveal
|
id:reveal
|
||||||
target:window.contentItem
|
target:window.layoutContainer()
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
onAnimationFinished:{
|
onAnimationFinished:{
|
||||||
//动画结束后释放资源
|
//动画结束后释放资源
|
||||||
|
@ -269,7 +269,7 @@ FluWindow {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
loader_reveal.sourceComponent = com_reveal
|
loader_reveal.sourceComponent = com_reveal
|
||||||
var target = window.contentItem
|
var target = window.layoutContainer()
|
||||||
var pos = button.mapToItem(target,0,0)
|
var pos = button.mapToItem(target,0,0)
|
||||||
var mouseX = pos.x
|
var mouseX = pos.x
|
||||||
var mouseY = pos.y
|
var mouseY = pos.y
|
||||||
|
|
|
@ -243,7 +243,7 @@ FluWindow {
|
||||||
id:com_reveal
|
id:com_reveal
|
||||||
CircularReveal{
|
CircularReveal{
|
||||||
id:reveal
|
id:reveal
|
||||||
target:window.contentItem
|
target:window.layoutContainer()
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
onAnimationFinished:{
|
onAnimationFinished:{
|
||||||
//动画结束后释放资源
|
//动画结束后释放资源
|
||||||
|
@ -272,7 +272,7 @@ FluWindow {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
loader_reveal.sourceComponent = com_reveal
|
loader_reveal.sourceComponent = com_reveal
|
||||||
var target = window.contentItem
|
var target = window.layoutContainer()
|
||||||
var pos = button.mapToItem(target,0,0)
|
var pos = button.mapToItem(target,0,0)
|
||||||
var mouseX = pos.x
|
var mouseX = pos.x
|
||||||
var mouseY = pos.y
|
var mouseY = pos.y
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
#include "FluFrameless.h"
|
#include "FluFramelessHelper.h"
|
||||||
|
|
||||||
#include <QGuiApplication>
|
#include <QGuiApplication>
|
||||||
#include <QOperatingSystemVersion>
|
#include <QOperatingSystemVersion>
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
#pragma comment (lib,"user32.lib")
|
#pragma comment (lib,"user32.lib")
|
||||||
|
#pragma comment (lib,"dwmapi.lib")
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
#include <dwmapi.h>
|
||||||
|
|
||||||
static inline QByteArray qtNativeEventType()
|
static inline QByteArray qtNativeEventType()
|
||||||
{
|
{
|
||||||
|
@ -28,6 +30,26 @@ static inline bool isCompositionEnabled(){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void showShadow(HWND hwnd){
|
||||||
|
if(isCompositionEnabled()){
|
||||||
|
const MARGINS shadow = { 1, 1, 1, 1 };
|
||||||
|
typedef HRESULT (WINAPI* DwmExtendFrameIntoClientAreaPtr)(HWND hWnd, const MARGINS *pMarInset);
|
||||||
|
HMODULE module = LoadLibraryW(L"dwmapi.dll");
|
||||||
|
if (module)
|
||||||
|
{
|
||||||
|
DwmExtendFrameIntoClientAreaPtr dwm_extendframe_into_client_area_;
|
||||||
|
dwm_extendframe_into_client_area_= reinterpret_cast<DwmExtendFrameIntoClientAreaPtr>(GetProcAddress(module, "DwmExtendFrameIntoClientArea"));
|
||||||
|
if (dwm_extendframe_into_client_area_)
|
||||||
|
{
|
||||||
|
dwm_extendframe_into_client_area_(hwnd, &shadow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
ULONG_PTR cNewStyle = GetClassLongPtr(hwnd, GCL_STYLE) | CS_DROPSHADOW;
|
||||||
|
SetClassLongPtr(hwnd, GCL_STYLE, cNewStyle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FramelessEventFilter::FramelessEventFilter(QQuickWindow* window){
|
FramelessEventFilter::FramelessEventFilter(QQuickWindow* window){
|
||||||
|
@ -86,15 +108,15 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
FluFrameless::FluFrameless(QObject *parent)
|
FluFramelessHelper::FluFramelessHelper(QObject *parent)
|
||||||
: QObject{parent}
|
: QObject{parent}
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void FluFrameless::classBegin(){
|
void FluFramelessHelper::classBegin(){
|
||||||
}
|
}
|
||||||
|
|
||||||
void FluFrameless::updateCursor(int edges){
|
void FluFramelessHelper::updateCursor(int edges){
|
||||||
switch (edges) {
|
switch (edges) {
|
||||||
case 0:
|
case 0:
|
||||||
_window->setCursor(Qt::ArrowCursor);
|
_window->setCursor(Qt::ArrowCursor);
|
||||||
|
@ -118,7 +140,7 @@ void FluFrameless::updateCursor(int edges){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FluFrameless::eventFilter(QObject *obj, QEvent *ev){
|
bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){
|
||||||
if (!_window.isNull() && _window->flags() & Qt::FramelessWindowHint) {
|
if (!_window.isNull() && _window->flags() & Qt::FramelessWindowHint) {
|
||||||
|
|
||||||
static int edges = 0;
|
static int edges = 0;
|
||||||
|
@ -178,7 +200,7 @@ bool FluFrameless::eventFilter(QObject *obj, QEvent *ev){
|
||||||
return QObject::eventFilter(obj, ev);
|
return QObject::eventFilter(obj, ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FluFrameless::componentComplete(){
|
void FluFramelessHelper::componentComplete(){
|
||||||
auto o = parent();
|
auto o = parent();
|
||||||
while (nullptr != o) {
|
while (nullptr != o) {
|
||||||
_window = (QQuickWindow*)o;
|
_window = (QQuickWindow*)o;
|
||||||
|
@ -190,13 +212,11 @@ void FluFrameless::componentComplete(){
|
||||||
_nativeEvent =new FramelessEventFilter(_window);
|
_nativeEvent =new FramelessEventFilter(_window);
|
||||||
qApp->installNativeEventFilter(_nativeEvent);
|
qApp->installNativeEventFilter(_nativeEvent);
|
||||||
HWND hwnd = reinterpret_cast<HWND>(_window->winId());
|
HWND hwnd = reinterpret_cast<HWND>(_window->winId());
|
||||||
ULONG_PTR cNewStyle = GetClassLongPtr(hwnd, GCL_STYLE) | CS_DROPSHADOW;
|
|
||||||
SetClassLongPtr(hwnd, GCL_STYLE, cNewStyle);
|
|
||||||
DWORD style = GetWindowLongPtr(hwnd,GWL_STYLE);
|
|
||||||
SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_THICKFRAME | WS_CAPTION &~ WS_SYSMENU);
|
|
||||||
SetWindowPos(hwnd,nullptr,0,0,0,0,SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE | SWP_NOSIZE |SWP_FRAMECHANGED);
|
SetWindowPos(hwnd,nullptr,0,0,0,0,SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE | SWP_NOSIZE |SWP_FRAMECHANGED);
|
||||||
|
showShadow(hwnd);
|
||||||
#endif
|
#endif
|
||||||
_stayTop = QQmlProperty(_window,"stayTop");
|
_stayTop = QQmlProperty(_window,"stayTop");
|
||||||
|
_onStayTopChange();
|
||||||
_stayTop.connectNotifySignal(this,SLOT(_onStayTopChange()));
|
_stayTop.connectNotifySignal(this,SLOT(_onStayTopChange()));
|
||||||
_screen = QQmlProperty(_window,"screen");
|
_screen = QQmlProperty(_window,"screen");
|
||||||
_screen.connectNotifySignal(this,SLOT(_onScreenChanged()));
|
_screen.connectNotifySignal(this,SLOT(_onScreenChanged()));
|
||||||
|
@ -204,12 +224,12 @@ void FluFrameless::componentComplete(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FluFrameless::_onScreenChanged(){
|
void FluFramelessHelper::_onScreenChanged(){
|
||||||
_window->update();
|
_window->update();
|
||||||
QGuiApplication::processEvents();
|
QGuiApplication::processEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FluFrameless::_onStayTopChange(){
|
void FluFramelessHelper::_onStayTopChange(){
|
||||||
bool isStayTop = _stayTop.read().toBool();
|
bool isStayTop = _stayTop.read().toBool();
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
HWND hwnd = reinterpret_cast<HWND>(_window->winId());
|
HWND hwnd = reinterpret_cast<HWND>(_window->winId());
|
||||||
|
@ -225,7 +245,7 @@ void FluFrameless::_onStayTopChange(){
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
FluFrameless::~FluFrameless(){
|
FluFramelessHelper::~FluFramelessHelper(){
|
||||||
if (!_window.isNull()) {
|
if (!_window.isNull()) {
|
||||||
_window->setFlags(Qt::Window);
|
_window->setFlags(Qt::Window);
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef FLUFRAMELESS_H
|
#ifndef FLUFRAMELESSHELPER_H
|
||||||
#define FLUFRAMELESS_H
|
#define FLUFRAMELESSHELPER_H
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QQuickWindow>
|
#include <QQuickWindow>
|
||||||
|
@ -25,13 +25,13 @@ public:
|
||||||
qint64 _current = 0;
|
qint64 _current = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FluFrameless : public QObject, public QQmlParserStatus
|
class FluFramelessHelper : public QObject, public QQmlParserStatus
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
QML_NAMED_ELEMENT(FluFrameless)
|
QML_NAMED_ELEMENT(FluFramelessHelper)
|
||||||
public:
|
public:
|
||||||
explicit FluFrameless(QObject *parent = nullptr);
|
explicit FluFramelessHelper(QObject *parent = nullptr);
|
||||||
~FluFrameless();
|
~FluFramelessHelper();
|
||||||
void classBegin() override;
|
void classBegin() override;
|
||||||
void componentComplete() override;
|
void componentComplete() override;
|
||||||
protected:
|
protected:
|
||||||
|
@ -47,4 +47,4 @@ private:
|
||||||
QQmlProperty _screen;
|
QQmlProperty _screen;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FLUFRAMELESS_H
|
#endif // FLUFRAMELESSHELPER_H
|
|
@ -16,7 +16,7 @@
|
||||||
#include "Screenshot.h"
|
#include "Screenshot.h"
|
||||||
#include "FluRectangle.h"
|
#include "FluRectangle.h"
|
||||||
#include "FluNetwork.h"
|
#include "FluNetwork.h"
|
||||||
#include "FluFrameless.h"
|
#include "FluFramelessHelper.h"
|
||||||
#include "QRCode.h"
|
#include "QRCode.h"
|
||||||
|
|
||||||
void FluentUI::registerTypes(QQmlEngine *engine){
|
void FluentUI::registerTypes(QQmlEngine *engine){
|
||||||
|
@ -41,7 +41,7 @@ void FluentUI::registerTypes(const char *uri){
|
||||||
qmlRegisterType<FluRectangle>(uri,major,minor,"FluRectangle");
|
qmlRegisterType<FluRectangle>(uri,major,minor,"FluRectangle");
|
||||||
qmlRegisterType<NetworkCallable>(uri,major,minor,"FluNetworkCallable");
|
qmlRegisterType<NetworkCallable>(uri,major,minor,"FluNetworkCallable");
|
||||||
qmlRegisterType<NetworkParams>(uri,major,minor,"FluNetworkParams");
|
qmlRegisterType<NetworkParams>(uri,major,minor,"FluNetworkParams");
|
||||||
qmlRegisterType<FluFrameless>(uri,major,minor,"FluFrameless");
|
qmlRegisterType<FluFramelessHelper>(uri,major,minor,"FluFramelessHelper");
|
||||||
|
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/ColorPicker/ColorPicker.qml"),uri,major,minor,"ColorPicker");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/ColorPicker/ColorPicker.qml"),uri,major,minor,"ColorPicker");
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/ColorPicker/Content/Checkerboard.qml"),uri,major,minor,"Checkerboard");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/ColorPicker/Content/Checkerboard.qml"),uri,major,minor,"Checkerboard");
|
||||||
|
|
|
@ -5,7 +5,7 @@ import QtQuick.Layouts 1.15
|
||||||
import FluentUI 1.0
|
import FluentUI 1.0
|
||||||
|
|
||||||
Window {
|
Window {
|
||||||
default property alias content: container.data
|
default property alias content: layout_content.data
|
||||||
property string windowIcon: FluApp.windowIcon
|
property string windowIcon: FluApp.windowIcon
|
||||||
property bool closeDestory: true
|
property bool closeDestory: true
|
||||||
property int launchMode: FluWindowType.Standard
|
property int launchMode: FluWindowType.Standard
|
||||||
|
@ -92,7 +92,7 @@ Window {
|
||||||
}
|
}
|
||||||
Component{
|
Component{
|
||||||
id:com_frameless
|
id:com_frameless
|
||||||
FluFrameless{}
|
FluFramelessHelper{}
|
||||||
}
|
}
|
||||||
Component{
|
Component{
|
||||||
id:com_background
|
id:com_background
|
||||||
|
@ -168,14 +168,11 @@ Window {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FluLoader{
|
|
||||||
anchors.fill: parent
|
|
||||||
sourceComponent: background
|
|
||||||
}
|
|
||||||
FluLoader{
|
FluLoader{
|
||||||
id:loader_frameless
|
id:loader_frameless
|
||||||
}
|
}
|
||||||
Item{
|
Item{
|
||||||
|
id:layout_container
|
||||||
property int offsetX: {
|
property int offsetX: {
|
||||||
if(window.visibility === Window.Maximized){
|
if(window.visibility === Window.Maximized){
|
||||||
return Math.abs(window.x-Screen.virtualX)
|
return Math.abs(window.x-Screen.virtualX)
|
||||||
|
@ -198,6 +195,10 @@ Window {
|
||||||
onWidthChanged: {
|
onWidthChanged: {
|
||||||
window.appBar.width = width
|
window.appBar.width = width
|
||||||
}
|
}
|
||||||
|
FluLoader{
|
||||||
|
anchors.fill: parent
|
||||||
|
sourceComponent: background
|
||||||
|
}
|
||||||
FluLoader{
|
FluLoader{
|
||||||
id:loader_app_bar
|
id:loader_app_bar
|
||||||
anchors {
|
anchors {
|
||||||
|
@ -214,7 +215,7 @@ Window {
|
||||||
sourceComponent: window.useSystemAppBar ? undefined : com_app_bar
|
sourceComponent: window.useSystemAppBar ? undefined : com_app_bar
|
||||||
}
|
}
|
||||||
Item{
|
Item{
|
||||||
id:container
|
id:layout_content
|
||||||
anchors{
|
anchors{
|
||||||
top: loader_app_bar.bottom
|
top: loader_app_bar.bottom
|
||||||
left: parent.left
|
left: parent.left
|
||||||
|
@ -227,7 +228,7 @@ Window {
|
||||||
property string loadingText: "加载中..."
|
property string loadingText: "加载中..."
|
||||||
property bool cancel: false
|
property bool cancel: false
|
||||||
id:loader_loading
|
id:loader_loading
|
||||||
anchors.fill: container
|
anchors.fill: layout_content
|
||||||
}
|
}
|
||||||
FluInfoBar{
|
FluInfoBar{
|
||||||
id:infoBar
|
id:infoBar
|
||||||
|
@ -286,7 +287,10 @@ Window {
|
||||||
_pageRegister.onResult(data)
|
_pageRegister.onResult(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function containerItem(){
|
function layoutContainer(){
|
||||||
return container
|
return layout_container
|
||||||
|
}
|
||||||
|
function layoutContent(){
|
||||||
|
return layout_content
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import QtQuick.tooling 1.2
|
||||||
// It is used for QML tooling purposes only.
|
// It is used for QML tooling purposes only.
|
||||||
//
|
//
|
||||||
// This file was auto-generated by:
|
// 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 {
|
Module {
|
||||||
dependencies: ["QtQuick 2.0"]
|
dependencies: ["QtQuick 2.0"]
|
||||||
|
@ -75,6 +75,12 @@ Module {
|
||||||
Parameter { name: "data"; type: "QVariantMap" }
|
Parameter { name: "data"; type: "QVariantMap" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Component {
|
||||||
|
name: "FluFramelessHelper"
|
||||||
|
prototype: "QObject"
|
||||||
|
exports: ["FluentUI/FluFramelessHelper 1.0"]
|
||||||
|
exportMetaObjectRevisions: [0]
|
||||||
|
}
|
||||||
Component {
|
Component {
|
||||||
name: "FluNavigationViewType"
|
name: "FluNavigationViewType"
|
||||||
exports: ["FluentUI/FluNavigationViewType 1.0"]
|
exports: ["FluentUI/FluNavigationViewType 1.0"]
|
||||||
|
@ -1866,6 +1872,11 @@ Module {
|
||||||
type: "NetworkParams*"
|
type: "NetworkParams*"
|
||||||
Parameter { name: "target"; type: "QObject"; isPointer: true }
|
Parameter { name: "target"; type: "QObject"; isPointer: true }
|
||||||
}
|
}
|
||||||
|
Method {
|
||||||
|
name: "openLog"
|
||||||
|
type: "NetworkParams*"
|
||||||
|
Parameter { name: "val"; type: "QVariant" }
|
||||||
|
}
|
||||||
Method {
|
Method {
|
||||||
name: "go"
|
name: "go"
|
||||||
Parameter { name: "result"; type: "NetworkCallable"; isPointer: true }
|
Parameter { name: "result"; type: "NetworkCallable"; isPointer: true }
|
||||||
|
@ -2538,17 +2549,12 @@ Module {
|
||||||
exportMetaObjectRevisions: [0]
|
exportMetaObjectRevisions: [0]
|
||||||
isComposite: true
|
isComposite: true
|
||||||
defaultProperty: "data"
|
defaultProperty: "data"
|
||||||
Property { name: "window"; type: "QVariant" }
|
|
||||||
Property { name: "jsChart"; type: "QVariant" }
|
|
||||||
Property { name: "chartType"; type: "string" }
|
Property { name: "chartType"; type: "string" }
|
||||||
Property { name: "chartData"; type: "QVariant" }
|
Property { name: "chartData"; type: "QVariant" }
|
||||||
Property { name: "chartOptions"; type: "QVariant" }
|
Property { name: "chartOptions"; type: "QVariant" }
|
||||||
Property { name: "chartAnimationProgress"; type: "double" }
|
Property { name: "chartAnimationProgress"; type: "double" }
|
||||||
Property { name: "animationEasingType"; type: "int" }
|
Property { name: "animationEasingType"; type: "int" }
|
||||||
Property { name: "animationDuration"; type: "double" }
|
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" }
|
Property { name: "animationRunning"; type: "bool" }
|
||||||
Signal { name: "animationFinished" }
|
Signal { name: "animationFinished" }
|
||||||
Method { name: "animateToNewData"; type: "QVariant" }
|
Method { name: "animateToNewData"; type: "QVariant" }
|
||||||
|
@ -2649,9 +2655,13 @@ Module {
|
||||||
Property { name: "neutralText"; type: "string" }
|
Property { name: "neutralText"; type: "string" }
|
||||||
Property { name: "negativeText"; type: "string" }
|
Property { name: "negativeText"; type: "string" }
|
||||||
Property { name: "positiveText"; type: "string" }
|
Property { name: "positiveText"; type: "string" }
|
||||||
|
Property { name: "messageTextFormart"; type: "int" }
|
||||||
Property { name: "delayTime"; type: "int" }
|
Property { name: "delayTime"; type: "int" }
|
||||||
Property { name: "buttonFlags"; 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: "neutralClicked" }
|
||||||
Signal { name: "negativeClicked" }
|
Signal { name: "negativeClicked" }
|
||||||
Signal { name: "positiveClicked" }
|
Signal { name: "positiveClicked" }
|
||||||
|
@ -3003,15 +3013,15 @@ Module {
|
||||||
defaultProperty: "data"
|
defaultProperty: "data"
|
||||||
Property { name: "logo"; type: "QUrl" }
|
Property { name: "logo"; type: "QUrl" }
|
||||||
Property { name: "title"; type: "string" }
|
Property { name: "title"; type: "string" }
|
||||||
Property { name: "items"; type: "FluObject_QMLTYPE_124"; isPointer: true }
|
Property { name: "items"; type: "FluObject_QMLTYPE_125"; isPointer: true }
|
||||||
Property { name: "footerItems"; type: "FluObject_QMLTYPE_124"; isPointer: true }
|
Property { name: "footerItems"; type: "FluObject_QMLTYPE_125"; isPointer: true }
|
||||||
Property { name: "displayMode"; type: "int" }
|
Property { name: "displayMode"; type: "int" }
|
||||||
Property { name: "autoSuggestBox"; type: "QQmlComponent"; isPointer: true }
|
Property { name: "autoSuggestBox"; type: "QQmlComponent"; isPointer: true }
|
||||||
Property { name: "actionItem"; type: "QQmlComponent"; isPointer: true }
|
Property { name: "actionItem"; type: "QQmlComponent"; isPointer: true }
|
||||||
Property { name: "topPadding"; type: "int" }
|
Property { name: "topPadding"; type: "int" }
|
||||||
Property { name: "pageMode"; type: "int" }
|
Property { name: "pageMode"; type: "int" }
|
||||||
Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_39"; isPointer: true }
|
Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_34"; isPointer: true }
|
||||||
Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_39"; isPointer: true }
|
Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_34"; isPointer: true }
|
||||||
Property { name: "navCompactWidth"; type: "int" }
|
Property { name: "navCompactWidth"; type: "int" }
|
||||||
Property { name: "navTopMargin"; type: "int" }
|
Property { name: "navTopMargin"; type: "int" }
|
||||||
Property { name: "cellHeight"; type: "int" }
|
Property { name: "cellHeight"; type: "int" }
|
||||||
|
@ -3758,6 +3768,91 @@ Module {
|
||||||
Method { name: "allExpand"; type: "QVariant" }
|
Method { name: "allExpand"; type: "QVariant" }
|
||||||
Method { name: "allCollapse"; 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 {
|
Component {
|
||||||
prototype: "QQuickRow"
|
prototype: "QQuickRow"
|
||||||
name: "FluentUI/NumberBox 1.0"
|
name: "FluentUI/NumberBox 1.0"
|
||||||
|
|
|
@ -4,7 +4,7 @@ import QtQuick.Layouts
|
||||||
import FluentUI
|
import FluentUI
|
||||||
|
|
||||||
Window {
|
Window {
|
||||||
default property alias content: container.data
|
default property alias content: layout_content.data
|
||||||
property string windowIcon: FluApp.windowIcon
|
property string windowIcon: FluApp.windowIcon
|
||||||
property bool closeDestory: true
|
property bool closeDestory: true
|
||||||
property int launchMode: FluWindowType.Standard
|
property int launchMode: FluWindowType.Standard
|
||||||
|
@ -91,7 +91,7 @@ Window {
|
||||||
}
|
}
|
||||||
Component{
|
Component{
|
||||||
id:com_frameless
|
id:com_frameless
|
||||||
FluFrameless{}
|
FluFramelessHelper{}
|
||||||
}
|
}
|
||||||
Component{
|
Component{
|
||||||
id:com_background
|
id:com_background
|
||||||
|
@ -167,14 +167,11 @@ Window {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FluLoader{
|
|
||||||
anchors.fill: parent
|
|
||||||
sourceComponent: background
|
|
||||||
}
|
|
||||||
FluLoader{
|
FluLoader{
|
||||||
id:loader_frameless
|
id:loader_frameless
|
||||||
}
|
}
|
||||||
Item{
|
Item{
|
||||||
|
id:layout_container
|
||||||
property int offsetX: {
|
property int offsetX: {
|
||||||
if(window.visibility === Window.Maximized){
|
if(window.visibility === Window.Maximized){
|
||||||
return Math.abs(window.x-Screen.virtualX)
|
return Math.abs(window.x-Screen.virtualX)
|
||||||
|
@ -197,6 +194,10 @@ Window {
|
||||||
onWidthChanged: {
|
onWidthChanged: {
|
||||||
window.appBar.width = width
|
window.appBar.width = width
|
||||||
}
|
}
|
||||||
|
FluLoader{
|
||||||
|
anchors.fill: parent
|
||||||
|
sourceComponent: background
|
||||||
|
}
|
||||||
FluLoader{
|
FluLoader{
|
||||||
id:loader_app_bar
|
id:loader_app_bar
|
||||||
anchors {
|
anchors {
|
||||||
|
@ -213,7 +214,7 @@ Window {
|
||||||
sourceComponent: window.useSystemAppBar ? undefined : com_app_bar
|
sourceComponent: window.useSystemAppBar ? undefined : com_app_bar
|
||||||
}
|
}
|
||||||
Item{
|
Item{
|
||||||
id:container
|
id:layout_content
|
||||||
anchors{
|
anchors{
|
||||||
top: loader_app_bar.bottom
|
top: loader_app_bar.bottom
|
||||||
left: parent.left
|
left: parent.left
|
||||||
|
@ -226,7 +227,7 @@ Window {
|
||||||
property string loadingText: "加载中..."
|
property string loadingText: "加载中..."
|
||||||
property bool cancel: false
|
property bool cancel: false
|
||||||
id:loader_loading
|
id:loader_loading
|
||||||
anchors.fill: container
|
anchors.fill: layout_content
|
||||||
}
|
}
|
||||||
FluInfoBar{
|
FluInfoBar{
|
||||||
id:infoBar
|
id:infoBar
|
||||||
|
@ -285,7 +286,10 @@ Window {
|
||||||
_pageRegister.onResult(data)
|
_pageRegister.onResult(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function containerItem(){
|
function layoutContainer(){
|
||||||
return container
|
return layout_container
|
||||||
|
}
|
||||||
|
function layoutContent(){
|
||||||
|
return layout_content
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue