mirror of
https://github.com/zhuzichu520/FluentUI.git
synced 2024-11-29 22:55:56 +08:00
update
This commit is contained in:
parent
6c86e61916
commit
dc37a151c8
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,6 +1,3 @@
|
|||||||
[submodule "framelesshelper"]
|
|
||||||
path = 3rdparty/framelesshelper
|
|
||||||
url = https://github.com/zhuzichu520/framelesshelper.git
|
|
||||||
[submodule "zxing-cpp"]
|
[submodule "zxing-cpp"]
|
||||||
path = 3rdparty/zxing-cpp
|
path = 3rdparty/zxing-cpp
|
||||||
url = https://github.com/zhuzichu520/zxing-cpp.git
|
url = https://github.com/zhuzichu520/zxing-cpp.git
|
1
3rdparty/framelesshelper
vendored
1
3rdparty/framelesshelper
vendored
@ -1 +0,0 @@
|
|||||||
Subproject commit 27fcd913b4b21b51d5cca307e47e93d1ae75e1bb
|
|
@ -37,11 +37,6 @@ if (FLUENTUI_BUILD_EXAMPLES)
|
|||||||
add_subdirectory(example)
|
add_subdirectory(example)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set(FRAMELESSHELPER_BUILD_STATIC ON)
|
|
||||||
set(FRAMELESSHELPER_NO_DEBUG_OUTPUT ON)
|
|
||||||
set(FRAMELESSHELPER_BUILD_WIDGETS OFF)
|
|
||||||
add_subdirectory(3rdparty/framelesshelper)
|
|
||||||
|
|
||||||
message("------------------------ FluentUI ------------------------")
|
message("------------------------ FluentUI ------------------------")
|
||||||
message("Build FluentUI demo applications.: ${FLUENTUI_BUILD_EXAMPLES}")
|
message("Build FluentUI demo applications.: ${FLUENTUI_BUILD_EXAMPLES}")
|
||||||
message("Build static library.: ${FLUENTUI_BUILD_STATIC_LIB}")
|
message("Build static library.: ${FLUENTUI_BUILD_STATIC_LIB}")
|
||||||
|
@ -297,7 +297,7 @@ FluWindow {
|
|||||||
id:tour
|
id:tour
|
||||||
steps:{
|
steps:{
|
||||||
var data = []
|
var data = []
|
||||||
if(!window.useSystemAppBar){
|
if(!FluApp.useSystemAppBar){
|
||||||
data.push({title:"夜间模式",description: "这里可以切换夜间模式.",target:()=>appBar.darkButton()})
|
data.push({title:"夜间模式",description: "这里可以切换夜间模式.",target:()=>appBar.darkButton()})
|
||||||
}
|
}
|
||||||
data.push({title:"隐藏彩蛋",description: "多点几下试试!!",target:()=>nav_view.logoButton()})
|
data.push({title:"隐藏彩蛋",description: "多点几下试试!!",target:()=>nav_view.logoButton()})
|
||||||
|
@ -300,7 +300,7 @@ FluWindow {
|
|||||||
id:tour
|
id:tour
|
||||||
steps:{
|
steps:{
|
||||||
var data = []
|
var data = []
|
||||||
if(!window.useSystemAppBar){
|
if(!FluApp.useSystemAppBar){
|
||||||
data.push({title:"夜间模式",description: "这里可以切换夜间模式.",target:()=>appBar.darkButton()})
|
data.push({title:"夜间模式",description: "这里可以切换夜间模式.",target:()=>appBar.darkButton()})
|
||||||
}
|
}
|
||||||
data.push({title:"隐藏彩蛋",description: "多点几下试试!!",target:()=>nav_view.logoButton()})
|
data.push({title:"隐藏彩蛋",description: "多点几下试试!!",target:()=>nav_view.logoButton()})
|
||||||
|
@ -138,8 +138,6 @@ target_link_libraries(${PROJECT_NAME} PUBLIC
|
|||||||
Qt${QT_VERSION_MAJOR}::QuickPrivate
|
Qt${QT_VERSION_MAJOR}::QuickPrivate
|
||||||
Qt${QT_VERSION_MAJOR}::QmlPrivate
|
Qt${QT_VERSION_MAJOR}::QmlPrivate
|
||||||
ZXing
|
ZXing
|
||||||
FramelessHelper::Core
|
|
||||||
FramelessHelper::Quick
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#安装
|
#安装
|
||||||
|
@ -8,15 +8,10 @@
|
|||||||
#include <QUuid>
|
#include <QUuid>
|
||||||
#include <QFontDatabase>
|
#include <QFontDatabase>
|
||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
#include <FramelessHelper/Quick/framelessquickmodule.h>
|
|
||||||
#include <FramelessHelper/Core/private/framelessconfig_p.h>
|
|
||||||
|
|
||||||
FRAMELESSHELPER_USE_NAMESPACE
|
|
||||||
|
|
||||||
FluApp::FluApp(QObject *parent):QObject{parent}{
|
FluApp::FluApp(QObject *parent):QObject{parent}{
|
||||||
vsync(true);
|
vsync(true);
|
||||||
useSystemAppBar(false);
|
useSystemAppBar(false);
|
||||||
connect(this,&FluApp::useSystemAppBarChanged,this,[=]{FramelessConfig::instance()->set(Global::Option::UseSystemAppBar,_useSystemAppBar);});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FluApp::~FluApp(){
|
FluApp::~FluApp(){
|
||||||
@ -24,11 +19,6 @@ FluApp::~FluApp(){
|
|||||||
|
|
||||||
void FluApp::init(QObject *application){
|
void FluApp::init(QObject *application){
|
||||||
this->_application = application;
|
this->_application = application;
|
||||||
FramelessHelperQuickInitialize();
|
|
||||||
FramelessConfig::instance()->set(Global::Option::DisableLazyInitializationForMicaMaterial);
|
|
||||||
FramelessConfig::instance()->set(Global::Option::CenterWindowBeforeShow);
|
|
||||||
QQmlEngine *engine = qmlEngine(_application);
|
|
||||||
FramelessHelper::Quick::registerTypes(engine);
|
|
||||||
QJSEngine * jsEngine = qjsEngine(_application);
|
QJSEngine * jsEngine = qjsEngine(_application);
|
||||||
std::string jsFunction = R"( (function () { console.log("FluentUI");}) )";
|
std::string jsFunction = R"( (function () { console.log("FluentUI");}) )";
|
||||||
QJSValue function = jsEngine->evaluate(QString::fromStdString(jsFunction));
|
QJSValue function = jsEngine->evaluate(QString::fromStdString(jsFunction));
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#include "Screenshot.h"
|
#include "Screenshot.h"
|
||||||
#include "FluRectangle.h"
|
#include "FluRectangle.h"
|
||||||
#include "FluNetwork.h"
|
#include "FluNetwork.h"
|
||||||
|
#include "FluFrameless.h"
|
||||||
#include "QRCode.h"
|
#include "QRCode.h"
|
||||||
|
|
||||||
void FluentUI::registerTypes(QQmlEngine *engine){
|
void FluentUI::registerTypes(QQmlEngine *engine){
|
||||||
@ -40,6 +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(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");
|
||||||
|
@ -3,7 +3,6 @@ import QtQuick.Window 2.15
|
|||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls 2.15
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
import FluentUI 1.0
|
import FluentUI 1.0
|
||||||
import org.wangwenx190.FramelessHelper 1.0
|
|
||||||
|
|
||||||
Window {
|
Window {
|
||||||
default property alias content: container.data
|
default property alias content: container.data
|
||||||
@ -38,7 +37,7 @@ Window {
|
|||||||
property bool showMinimize: true
|
property bool showMinimize: true
|
||||||
property bool showMaximize: true
|
property bool showMaximize: true
|
||||||
property bool showStayTop: true
|
property bool showStayTop: true
|
||||||
property bool useSystemAppBar
|
flags: Qt.Window | Qt.WindowTitleHint | Qt.WindowSystemMenuHint | Qt.WindowMinMaxButtonsHint | Qt.WindowCloseButtonHint
|
||||||
property bool autoMaximize: false
|
property bool autoMaximize: false
|
||||||
property var closeListener: function(event){
|
property var closeListener: function(event){
|
||||||
if(closeDestory){
|
if(closeDestory){
|
||||||
@ -51,26 +50,21 @@ Window {
|
|||||||
signal initArgument(var argument)
|
signal initArgument(var argument)
|
||||||
signal firstVisible()
|
signal firstVisible()
|
||||||
id:window
|
id:window
|
||||||
maximumWidth: useSystemAppBar&&fixSize ? width : 16777215
|
maximumWidth: fixSize ? width : 16777215
|
||||||
maximumHeight: useSystemAppBar&&fixSize ? height : 16777215
|
maximumHeight: fixSize ? height : 16777215
|
||||||
minimumWidth: useSystemAppBar&&fixSize ? width : 0
|
minimumWidth: fixSize ? width : 0
|
||||||
minimumHeight: useSystemAppBar&&fixSize ? height : 0
|
minimumHeight: fixSize ? height : 0
|
||||||
color:"transparent"
|
color:"transparent"
|
||||||
onStayTopChanged: {
|
onStayTopChanged: {
|
||||||
d.changedStayTop()
|
d.changedStayTop()
|
||||||
}
|
}
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
useSystemAppBar = FluApp.useSystemAppBar
|
|
||||||
lifecycle.onCompleted(window)
|
lifecycle.onCompleted(window)
|
||||||
initArgument(argument)
|
initArgument(argument)
|
||||||
d.changedStayTop()
|
if(window.autoMaximize){
|
||||||
if(useSystemAppBar){
|
window.showMaximized()
|
||||||
window.moveWindowToDesktopCenter()
|
}else{
|
||||||
if(window.autoMaximize){
|
window.show()
|
||||||
window.showMaximized()
|
|
||||||
}else{
|
|
||||||
window.show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Component.onDestruction: {
|
Component.onDestruction: {
|
||||||
@ -83,6 +77,14 @@ Window {
|
|||||||
}
|
}
|
||||||
lifecycle.onVisible(visible)
|
lifecycle.onVisible(visible)
|
||||||
}
|
}
|
||||||
|
Component{
|
||||||
|
id:com_frameless
|
||||||
|
FluFrameless{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FluLoader{
|
||||||
|
sourceComponent: FluApp.useSystemAppBar ? undefined : com_frameless
|
||||||
|
}
|
||||||
QtObject{
|
QtObject{
|
||||||
id:d
|
id:d
|
||||||
property bool isFirstVisible: true
|
property bool isFirstVisible: true
|
||||||
@ -124,7 +126,7 @@ Window {
|
|||||||
left: parent.left
|
left: parent.left
|
||||||
right: parent.right
|
right: parent.right
|
||||||
}
|
}
|
||||||
sourceComponent: window.useSystemAppBar ? undefined : com_app_bar
|
sourceComponent: FluApp.useSystemAppBar ? undefined : com_app_bar
|
||||||
}
|
}
|
||||||
Component{
|
Component{
|
||||||
id:com_app_bar
|
id:com_app_bar
|
||||||
@ -220,33 +222,6 @@ Window {
|
|||||||
id:infoBar
|
id:infoBar
|
||||||
root: window
|
root: window
|
||||||
}
|
}
|
||||||
Connections{
|
|
||||||
target: FluTheme
|
|
||||||
function onDarkChanged(){
|
|
||||||
if (FluTheme.dark)
|
|
||||||
FramelessUtils.systemTheme = FramelessHelperConstants.Dark
|
|
||||||
else
|
|
||||||
FramelessUtils.systemTheme = FramelessHelperConstants.Light
|
|
||||||
}
|
|
||||||
}
|
|
||||||
FramelessHelper{
|
|
||||||
id:framless_helper
|
|
||||||
onReady: {
|
|
||||||
flags = flags | Qt.Window | Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint | Qt.WindowMinMaxButtonsHint | Qt.WindowCloseButtonHint
|
|
||||||
if(appBar){
|
|
||||||
var appbar = window.appBar
|
|
||||||
window.moveWindowToDesktopCenter()
|
|
||||||
setWindowFixedSize(fixSize)
|
|
||||||
if (blurBehindWindowEnabled)
|
|
||||||
window.background = undefined
|
|
||||||
}
|
|
||||||
if(window.autoMaximize){
|
|
||||||
window.showMaximized()
|
|
||||||
}else{
|
|
||||||
window.show()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
WindowLifecycle{
|
WindowLifecycle{
|
||||||
id:lifecycle
|
id:lifecycle
|
||||||
}
|
}
|
||||||
@ -259,10 +234,6 @@ Window {
|
|||||||
Component{
|
Component{
|
||||||
id:com_window_border
|
id:com_window_border
|
||||||
Item{
|
Item{
|
||||||
WindowBorder{
|
|
||||||
anchors.fill: parent
|
|
||||||
visible: !FluTools.isLinux()
|
|
||||||
}
|
|
||||||
Rectangle{
|
Rectangle{
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: Qt.rgba(0,0,0,0)
|
color: Qt.rgba(0,0,0,0)
|
||||||
@ -303,9 +274,6 @@ Window {
|
|||||||
function registerForWindowResult(path){
|
function registerForWindowResult(path){
|
||||||
return lifecycle.createRegister(window,path)
|
return lifecycle.createRegister(window,path)
|
||||||
}
|
}
|
||||||
function moveWindowToDesktopCenter(){
|
|
||||||
return framless_helper.moveWindowToDesktopCenter()
|
|
||||||
}
|
|
||||||
function onResult(data){
|
function onResult(data){
|
||||||
if(_pageRegister){
|
if(_pageRegister){
|
||||||
_pageRegister.onResult(data)
|
_pageRegister.onResult(data)
|
||||||
|
@ -2,7 +2,6 @@ import QtQuick
|
|||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import FluentUI
|
import FluentUI
|
||||||
import org.wangwenx190.FramelessHelper
|
|
||||||
|
|
||||||
Window {
|
Window {
|
||||||
default property alias content: container.data
|
default property alias content: container.data
|
||||||
@ -37,7 +36,7 @@ Window {
|
|||||||
property bool showMinimize: true
|
property bool showMinimize: true
|
||||||
property bool showMaximize: true
|
property bool showMaximize: true
|
||||||
property bool showStayTop: true
|
property bool showStayTop: true
|
||||||
property bool useSystemAppBar
|
flags: Qt.Window | Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint | Qt.WindowMinMaxButtonsHint | Qt.WindowCloseButtonHint
|
||||||
property bool autoMaximize: false
|
property bool autoMaximize: false
|
||||||
property var closeListener: function(event){
|
property var closeListener: function(event){
|
||||||
if(closeDestory){
|
if(closeDestory){
|
||||||
@ -50,26 +49,21 @@ Window {
|
|||||||
signal initArgument(var argument)
|
signal initArgument(var argument)
|
||||||
signal firstVisible()
|
signal firstVisible()
|
||||||
id:window
|
id:window
|
||||||
maximumWidth: useSystemAppBar&&fixSize ? width : 16777215
|
maximumWidth: fixSize ? width : 16777215
|
||||||
maximumHeight: useSystemAppBar&&fixSize ? height : 16777215
|
maximumHeight: fixSize ? height : 16777215
|
||||||
minimumWidth: useSystemAppBar&&fixSize ? width : 0
|
minimumWidth: fixSize ? width : 0
|
||||||
minimumHeight: useSystemAppBar&&fixSize ? height : 0
|
minimumHeight: fixSize ? height : 0
|
||||||
color:"transparent"
|
color:"transparent"
|
||||||
onStayTopChanged: {
|
onStayTopChanged: {
|
||||||
d.changedStayTop()
|
d.changedStayTop()
|
||||||
}
|
}
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
useSystemAppBar = FluApp.useSystemAppBar
|
|
||||||
lifecycle.onCompleted(window)
|
lifecycle.onCompleted(window)
|
||||||
initArgument(argument)
|
initArgument(argument)
|
||||||
d.changedStayTop()
|
if(window.autoMaximize){
|
||||||
if(useSystemAppBar){
|
window.showMaximized()
|
||||||
window.moveWindowToDesktopCenter()
|
}else{
|
||||||
if(window.autoMaximize){
|
window.show()
|
||||||
window.showMaximized()
|
|
||||||
}else{
|
|
||||||
window.show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Component.onDestruction: {
|
Component.onDestruction: {
|
||||||
@ -82,6 +76,14 @@ Window {
|
|||||||
}
|
}
|
||||||
lifecycle.onVisible(visible)
|
lifecycle.onVisible(visible)
|
||||||
}
|
}
|
||||||
|
Component{
|
||||||
|
id:com_frameless
|
||||||
|
FluFrameless{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FluLoader{
|
||||||
|
sourceComponent: FluApp.useSystemAppBar ? undefined : com_frameless
|
||||||
|
}
|
||||||
QtObject{
|
QtObject{
|
||||||
id:d
|
id:d
|
||||||
property bool isFirstVisible: true
|
property bool isFirstVisible: true
|
||||||
@ -123,7 +125,7 @@ Window {
|
|||||||
left: parent.left
|
left: parent.left
|
||||||
right: parent.right
|
right: parent.right
|
||||||
}
|
}
|
||||||
sourceComponent: window.useSystemAppBar ? undefined : com_app_bar
|
sourceComponent: FluApp.useSystemAppBar ? undefined : com_app_bar
|
||||||
}
|
}
|
||||||
Component{
|
Component{
|
||||||
id:com_app_bar
|
id:com_app_bar
|
||||||
@ -219,33 +221,6 @@ Window {
|
|||||||
id:infoBar
|
id:infoBar
|
||||||
root: window
|
root: window
|
||||||
}
|
}
|
||||||
Connections{
|
|
||||||
target: FluTheme
|
|
||||||
function onDarkChanged(){
|
|
||||||
if (FluTheme.dark)
|
|
||||||
FramelessUtils.systemTheme = FramelessHelperConstants.Dark
|
|
||||||
else
|
|
||||||
FramelessUtils.systemTheme = FramelessHelperConstants.Light
|
|
||||||
}
|
|
||||||
}
|
|
||||||
FramelessHelper{
|
|
||||||
id:framless_helper
|
|
||||||
onReady: {
|
|
||||||
flags = flags | Qt.Window | Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint | Qt.WindowMinMaxButtonsHint | Qt.WindowCloseButtonHint
|
|
||||||
if(appBar){
|
|
||||||
var appbar = window.appBar
|
|
||||||
window.moveWindowToDesktopCenter()
|
|
||||||
setWindowFixedSize(fixSize)
|
|
||||||
if (blurBehindWindowEnabled)
|
|
||||||
window.background = undefined
|
|
||||||
}
|
|
||||||
if(window.autoMaximize){
|
|
||||||
window.showMaximized()
|
|
||||||
}else{
|
|
||||||
window.show()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
WindowLifecycle{
|
WindowLifecycle{
|
||||||
id:lifecycle
|
id:lifecycle
|
||||||
}
|
}
|
||||||
@ -258,10 +233,6 @@ Window {
|
|||||||
Component{
|
Component{
|
||||||
id:com_window_border
|
id:com_window_border
|
||||||
Item{
|
Item{
|
||||||
WindowBorder{
|
|
||||||
anchors.fill: parent
|
|
||||||
visible: !FluTools.isLinux()
|
|
||||||
}
|
|
||||||
Rectangle{
|
Rectangle{
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: Qt.rgba(0,0,0,0)
|
color: Qt.rgba(0,0,0,0)
|
||||||
@ -302,9 +273,6 @@ Window {
|
|||||||
function registerForWindowResult(path){
|
function registerForWindowResult(path){
|
||||||
return lifecycle.createRegister(window,path)
|
return lifecycle.createRegister(window,path)
|
||||||
}
|
}
|
||||||
function moveWindowToDesktopCenter(){
|
|
||||||
return framless_helper.moveWindowToDesktopCenter()
|
|
||||||
}
|
|
||||||
function onResult(data){
|
function onResult(data){
|
||||||
if(_pageRegister){
|
if(_pageRegister){
|
||||||
_pageRegister.onResult(data)
|
_pageRegister.onResult(data)
|
||||||
|
Loading…
Reference in New Issue
Block a user