This commit is contained in:
朱子楚\zhuzi
2024-03-27 00:36:56 +08:00
parent 485bcc8acc
commit e81a2cc849
42 changed files with 412 additions and 635 deletions

View File

@ -4,30 +4,26 @@ import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import FluentUI 1.0
Item {
FluLauncher {
id: app
Connections{
target: FluTheme
function onDarkModeChanged(){
SettingsHelper.saveDarkMode(FluTheme.darkMode)
}
}
Connections{
target: FluApp
function onUseSystemAppBarChanged(){
SettingsHelper.saveUseSystemAppBar(FluApp.useSystemAppBar)
}
}
Connections{
target: TranslateHelper
function onCurrentChanged(){
SettingsHelper.saveLanguage(TranslateHelper.current)
}
}
Component.onCompleted: {
FluNetwork.openLog = false
FluNetwork.setInterceptor(function(param){
@ -38,7 +34,7 @@ Item {
FluApp.useSystemAppBar = SettingsHelper.getUseSystemAppBar()
FluTheme.darkMode = SettingsHelper.getDarkMode()
FluTheme.enableAnimation = true
FluApp.routes = {
FluRouter.routes = {
"/":"qrc:/example/qml/window/MainWindow.qml",
"/about":"qrc:/example/qml/window/AboutWindow.qml",
"/login":"qrc:/example/qml/window/LoginWindow.qml",
@ -51,9 +47,9 @@ Item {
}
var args = Qt.application.arguments
if(args.length>=2 && args[1].startsWith("-crashed=")){
FluApp.navigate("/crash",{crashFilePath:args[1].replace("-crashed=","")})
FluRouter.navigate("/crash",{crashFilePath:args[1].replace("-crashed=","")})
}else{
FluApp.navigate("/")
FluRouter.navigate("/")
}
}
}

View File

@ -0,0 +1,10 @@
pragma Singleton
import QtQuick 2.15
import FluentUI 1.0
QtObject{
property int displayMode: FluNavigationViewType.Auto
}

View File

@ -16,7 +16,7 @@ FluObject{
title:qsTr("About")
icon:FluentIcons.Contact
onTapListener:function(){
FluApp.navigate("/about")
FluRouter.navigate("/about")
}
}

View File

@ -462,7 +462,7 @@ FluObject{
FluPaneItem{
title: qsTr("Hot Loader")
onTapListener: function(){
FluApp.navigate("/hotload")
FluRouter.navigate("/hotload")
}
}
FluPaneItem{

View File

@ -1,2 +1,3 @@
singleton ItemsOriginal 1.0 ItemsOriginal.qml
singleton ItemsOriginal 1.0 ItemsOriginal.qml
singleton ItemsFooter 1.0 ItemsFooter.qml
singleton GlobalModel 1.0 GlobalModel.qml

View File

@ -8,16 +8,17 @@ import "../component"
FluScrollablePage{
property string password: ""
property var loginPageRegister: registerForWindowResult("/login")
title: qsTr("MultiWindow")
Connections{
target: loginPageRegister
function onResult(data)
{
password = data.password
}
FluWindowResultLauncher{
id:loginResultLauncher
path: "/login"
onResult:
(data)=>{
password = data.password
}
}
FluArea{
@ -37,7 +38,7 @@ FluScrollablePage{
FluButton{
text: qsTr("Create Window")
onClicked: {
FluApp.navigate("/standardWindow")
FluRouter.navigate("/standardWindow")
}
}
}
@ -61,7 +62,7 @@ FluScrollablePage{
FluButton{
text: qsTr("Create Window")
onClicked: {
FluApp.navigate("/singleTaskWindow")
FluRouter.navigate("/singleTaskWindow")
}
}
}
@ -84,7 +85,7 @@ FluScrollablePage{
FluButton{
text: qsTr("Create Window")
onClicked: {
FluApp.navigate("/singleInstanceWindow")
FluRouter.navigate("/singleInstanceWindow")
}
}
}
@ -118,7 +119,7 @@ FluScrollablePage{
FluButton{
text: qsTr("Create Window")
onClicked: {
FluApp.navigate("/about")
FluRouter.navigate("/about")
}
}
}
@ -129,7 +130,7 @@ FluScrollablePage{
code:'FluButton{
text: qsTr("Create Window")
onClicked: {
FluApp.navigate("/about")
FluRouter.navigate("/about")
}
}
'
@ -153,7 +154,7 @@ FluScrollablePage{
FluButton{
text: qsTr("Create Window")
onClicked: {
loginPageRegister.launch({username:"zhuzichu"})
loginResultLauncher.launch({username:"zhuzichu"})
}
}
FluText{

View File

@ -4,17 +4,12 @@ import QtQuick.Window 2.15
import QtQuick.Controls 2.15
import FluentUI 1.0
import "../component"
import "../viewmodel"
import "../global"
FluScrollablePage{
title: qsTr("Settings")
SettingsViewModel{
id:viewmodel_settings
}
FluEvent{
id:event_checkupdate_finish
name: "checkUpdateFinish"
@ -95,7 +90,7 @@ FluScrollablePage{
negativeText: qsTr("Cancel")
positiveText: qsTr("OK")
onPositiveClicked: {
FluApp.exit(931)
FluRouter.exit(931)
}
}
@ -149,10 +144,10 @@ FluScrollablePage{
Repeater{
model: [{title:qsTr("Open"),mode:FluNavigationViewType.Open},{title:qsTr("Compact"),mode:FluNavigationViewType.Compact},{title:qsTr("Minimal"),mode:FluNavigationViewType.Minimal},{title:qsTr("Auto"),mode:FluNavigationViewType.Auto}]
delegate: FluRadioButton{
checked : viewmodel_settings.displayMode===modelData.mode
text:modelData.title
text: modelData.title
checked: GlobalModel.displayMode === modelData.mode
clickListener:function(){
viewmodel_settings.displayMode = modelData.mode
GlobalModel.displayMode = modelData.mode
}
}
}

View File

@ -4,16 +4,11 @@ import QtQuick.Layouts 1.15
import QtQuick.Window 2.15
import FluentUI 1.0
import "../component"
import "../viewmodel"
FluScrollablePage{
title: qsTr("TextBox")
TextBoxViewModel{
id:viewModel
}
FluArea{
Layout.fillWidth: true
height: 68
@ -24,10 +19,6 @@ FluScrollablePage{
placeholderText: qsTr("Single-line Input Box")
disabled: text_box_switch.checked
cleanEnabled: true
text: viewModel.text1
onTextChanged: {
viewModel.text1 = text
}
anchors{
verticalCenter: parent.verticalCenter
left: parent.left
@ -82,7 +73,6 @@ FluScrollablePage{
}'
}
FluArea{
Layout.fillWidth: true
height: 36+multiine_textbox.height
@ -92,10 +82,6 @@ FluScrollablePage{
FluMultilineTextBox{
id: multiine_textbox
placeholderText: qsTr("Multi-line Input Box")
text:viewModel.text2
onTextChanged: {
viewModel.text2 = text
}
disabled: text_box_multi_switch.checked
anchors{
verticalCenter: parent.verticalCenter

View File

@ -1,14 +0,0 @@
import QtQuick 2.15
import FluentUI 1.0
FluViewModel{
objectName: "SettingsViewModel"
scope: FluViewModelType.Application
property int displayMode
onInitData: {
displayMode = FluNavigationViewType.Auto
}
}

View File

@ -1,8 +0,0 @@
import QtQuick 2.15
import FluentUI 1.0
FluViewModel {
objectName: "TextBoxView"
property string text1
property string text2
}

View File

@ -31,7 +31,7 @@ FluWindow {
MouseArea{
anchors.fill: parent
onClicked: {
FluApp.navigate("/")
FluRouter.navigate("/")
}
}
}

View File

@ -71,7 +71,7 @@ FluWindow {
FluFilledButton{
text: qsTr("Restart Program")
onClicked: {
FluApp.exit(931)
FluRouter.exit(931)
}
}
}

View File

@ -51,7 +51,7 @@ FluWindow {
showError(qsTr("Please feel free to enter a password"))
return
}
onResult({password:textbox_password.text})
setResult({password:textbox_password.text})
window.close()
}
}

View File

@ -7,7 +7,6 @@ import Qt.labs.platform 1.1
import FluentUI 1.0
import example 1.0
import "../component"
import "../viewmodel"
import "../global"
FluWindow {
@ -29,10 +28,6 @@ FluWindow {
z:7
}
SettingsViewModel{
id:viewmodel_settings
}
FluEvent{
id:event_checkupdate
name: "checkUpdate"
@ -60,6 +55,7 @@ FluWindow {
Component.onDestruction: {
FluEventBus.unRegisterEvent(event_checkupdate)
FluRouter.exit()
}
SystemTrayIcon {
@ -71,7 +67,7 @@ FluWindow {
MenuItem {
text: "退出"
onTriggered: {
FluApp.exit()
FluRouter.exit()
}
}
}
@ -106,7 +102,7 @@ FluWindow {
positiveText: qsTr("Quit")
neutralText: qsTr("Cancel")
onPositiveClicked:{
FluApp.exit(0)
FluRouter.exit(0)
}
}
@ -118,7 +114,7 @@ FluWindow {
text: qsTr("Open in Separate Window")
font.pixelSize: 12
onClicked: {
FluApp.navigate("/pageWindow",{title:modelData.title,url:modelData.url})
FluRouter.navigate("/pageWindow",{title:modelData.title,url:modelData.url})
}
}
}
@ -197,7 +193,7 @@ FluWindow {
z:999
//Stack模式每次切换都会将页面压入栈中随着栈的页面增多消耗的内存也越多内存消耗多就会卡顿这时候就需要按返回将页面pop掉释放内存。该模式可以配合FluPage中的launchMode属性设置页面的启动模式
// pageMode: FluNavigationViewType.Stack
//NoStack模式每次切换都会销毁之前的页面然后创建一个新的页面只需消耗少量内存可以配合FluViewModel保存页面数据推荐
//NoStack模式每次切换都会销毁之前的页面然后创建一个新的页面只需消耗少量内存
pageMode: FluNavigationViewType.NoStack
items: ItemsOriginal
footerItems:ItemsFooter
@ -207,7 +203,7 @@ FluWindow {
}
return FluTools.isMacos() ? 20 : 0
}
displayMode:viewmodel_settings.displayMode
displayMode: GlobalModel.displayMode
logo: "qrc:/example/res/image/favicon.ico"
title:"FluentUI"
onLogoClicked:{