diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index e47006ab..460ae31c 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -2,73 +2,62 @@ name: MacOS
on:
push:
paths:
- - '*.txt'
- - 'example/**'
+ - '*.pro'
- 'src/**'
- - 'scripts/**'
- '.github/workflows/macos.yml'
pull_request:
paths:
- - '*.txt'
- - 'example/**'
+ - '*.pro'
- 'src/**'
- - 'scripts/**'
- '.github/workflows/macos.yml'
-
jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: [macos-12]
- qt_ver: [6.5.0]
+ os: [macos-11.0]
+ qt_ver: [5.15.2]
qt_arch: [clang_64]
env:
targetName: example
steps:
- - name: Check out repository
- uses: actions/checkout@v3
- with:
- submodules: recursive
-
+ # macos 11.0 默认环境变了,要指定
+ - name: prepare env
+ if: ${{ matrix.os == 'macos-11.0' }}
+ run: |
+ softwareupdate --all --install --force
+ sudo xcode-select --print-path
+ sudo xcode-select --switch /Library/Developer/CommandLineTools
- name: Install Qt
- uses: jurplel/install-qt-action@v3
+ uses: jurplel/install-qt-action@v2
with:
version: ${{ matrix.qt_ver }}
- cache: ${{steps.cache-qt.outputs.cache-hit}}
- arch: ${{ matrix.qt_arch }}
- modules: 'qt5compat qtmultimedia qtshadertools qtimageformats'
-
- - name: Set up Ninja
- uses: seanmiddleditch/gha-setup-ninja@v3
+ cached: 'false'
+ - uses: actions/checkout@v2
with:
- version: 1.10.2
-
+ submodules: recursive
- name: build macos
run: |
- cmake --version
- mkdir build
- cd build
- cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=/Users/runner/work/FluentUI/Qt/6.5.0/macos -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -GNinja ..
- cmake --build . --target all --config Release --parallel
-
+ qmake
+ make
+ # 打包
- name: package
run: |
# 拷贝依赖
- macdeployqt bin/release/${targetName}.app -qmldir=. -verbose=1 -dmg
-
+ macdeployqt bin/release/${targetName}.app -qmldir=. -verbose=1 -dmg
+ # 上传artifacts
- uses: actions/upload-artifact@v2
with:
name: ${{ env.targetName }}_${{ matrix.os }}_${{matrix.qt_ver}}.zip
path: bin/release/${{ env.targetName }}.app
-
+ # tag 上传Release
- name: uploadRelease
if: startsWith(github.event.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: bin/release/${{ env.targetName }}.dmg
- asset_name: ${{ env.targetName }}_${{ github.ref_name }}_${{ matrix.os }}_Qt${{ matrix.qt_ver }}.dmg
+ asset_name: ${{ env.targetName }}_${{ matrix.os }}_${{ matrix.qt_ver }}.dmg
tag: ${{ github.ref }}
overwrite: true
\ No newline at end of file
diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml
index d8a28406..068213ea 100644
--- a/.github/workflows/ubuntu.yml
+++ b/.github/workflows/ubuntu.yml
@@ -1,21 +1,17 @@
name: Ubuntu
+# Qt官方没有linux平台的x86包
on:
workflow_dispatch:
push:
paths:
- - '*.txt'
+ - '*.pro'
- 'src/**'
- - 'example/**'
- - 'scripts/**'
- '.github/workflows/ubuntu.yml'
pull_request:
paths:
- - '*.txt'
+ - '*.pro'
- 'src/**'
- - 'example/**'
- - 'scripts/**'
- - '.github/workflows/ubuntu.yml'
-
+ - '.github/workflows/ubuntu.yml'
jobs:
build:
name: Build
@@ -23,68 +19,49 @@ jobs:
strategy:
matrix:
os: [ubuntu-20.04]
- qt_ver: [6.5.0]
+ qt_ver: [5.15.2]
qt_arch: [gcc_64]
env:
targetName: example
steps:
- - name: Check out repository
- uses: actions/checkout@v3
- with:
- submodules: recursive
-
- name: Install Qt
- uses: jurplel/install-qt-action@v3
+ uses: jurplel/install-qt-action@v2
with:
version: ${{ matrix.qt_ver }}
- cache: ${{steps.cache-qt.outputs.cache-hit}}
- arch: ${{ matrix.qt_arch }}
- modules: 'qt5compat qtmultimedia qtshadertools qtimageformats'
-
- - name: Set up Ninja
- uses: seanmiddleditch/gha-setup-ninja@v3
- with:
- version: 1.10.2
-
+ cached: 'false'
- name: ubuntu install GL library
- run: sudo apt-get install -y libxcb-cursor0 libgl1-mesa-dev libxcb1-dev libgtk-3-dev libxkbcommon-x11-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-sync-dev libxcb-render-util0-dev libxcb-shm0-dev
-
+ run: sudo apt-get install -y libgl1-mesa-dev libxcb1-dev libgtk-3-dev libxkbcommon-x11-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-sync-dev libxcb-render-util0-dev libxcb-shm0-dev
+ - uses: actions/checkout@v2
+ with:
+ submodules: recursive
- name: build ubuntu
run: |
- ninja --version
- cmake --version
- mkdir build
- cd build
- cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=/home/runner/work/FluentUI/Qt/6.5.0/gcc_64 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -GNinja ..
- cmake --build . --target all --config Release --parallel
-
+ qmake
+ make
- name: install QT linux deploy
uses: miurahr/install-linuxdeploy-action@v1
with:
plugins: qt appimage
-
- - name: Check if svg file exists
- run: if [ ! -f "${targetName}.svg" ]; then echo "File not found, creating..."; touch ${targetName}.svg; fi
-
+ # 打包
- name: package
run: |
# make sure Qt plugin finds QML sources so it can deploy the imported files
- export QML_SOURCES_PATHS=./
+ export QML_SOURCES_PATHS=src
# 拷贝依赖
linuxdeploy-x86_64.AppImage --plugin=qt --output=appimage --create-desktop-file --icon-file=${targetName}.svg --executable=bin/release/${targetName} --appdir bin/release/
mv ${{ env.targetName }}-*.AppImage ${{ env.targetName }}.AppImage
-
+ # 上传artifacts
- uses: actions/upload-artifact@v2
with:
name: ${{ env.targetName }}_${{ matrix.os }}_${{matrix.qt_ver}}
path: ${{ env.targetName }}.AppImage
-
+ # tag 上传Release
- name: uploadRelease
if: startsWith(github.event.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.targetName }}.AppImage
- asset_name: ${{ env.targetName }}_${{ github.ref_name }}_${{ matrix.os }}_Qt${{ matrix.qt_ver }}.AppImage
+ asset_name: ${{ env.targetName }}_${{ matrix.os }}_${{ matrix.qt_ver }}.AppImage
tag: ${{ github.ref }}
overwrite: true
\ No newline at end of file
diff --git a/.github/workflows/windows-mingw.yml b/.github/workflows/windows-mingw.yml
deleted file mode 100644
index 37da26a9..00000000
--- a/.github/workflows/windows-mingw.yml
+++ /dev/null
@@ -1,91 +0,0 @@
-name: Windows MinGW
-on:
- push:
- paths:
- - '*.txt'
- - 'src/**'
- - 'example/**'
- - 'scripts/**'
- - '.github/workflows/windows-mingw.yml'
- pull_request:
- paths:
- - '*.txt'
- - 'example/**'
- - 'src/**'
- - 'scripts/**'
- - '.github/workflows/windows-mingw.yml'
-
-jobs:
- build:
- name: Build
- runs-on: windows-2022
- strategy:
- matrix:
- include:
- - qt_arch: win64_mingw
- qt_ver: 6.5.0
- qt_tools: "tools_mingw,9.0.0-1-202203221220,qt.tools.win64_mingw900"
- qt_tools_mingw_install: mingw900_64
- env:
- targetName: example.exe
- fileName: example
- steps:
- - name: Check out repository
- uses: actions/checkout@v3
- with:
- submodules: recursive
-
- - name: Install Qt
- uses: jurplel/install-qt-action@v3
- with:
- version: ${{ matrix.qt_ver }}
- arch: ${{ matrix.qt_arch }}
- cache: ${{steps.cache-qt.outputs.cache-hit}}
- modules: 'qt5compat qtmultimedia qtshadertools qtimageformats'
-
- - name: Qt6 environment configuration
- if: ${{ startsWith( matrix.qt_ver, 6 ) }}
- shell: pwsh
- run: |
- Write-Output "${{ env.Qt6_DIR }}/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- Write-Output "${{ env.Qt6_DIR }}/../../Tools/${{ matrix.qt_tools_mingw_install }}/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
-
- - name: where is cmake & where is mingw32-make
- shell: pwsh
- run: |
- Get-Command -Name 'cmake' | Format-List
- Get-Command -Name 'mingw32-make' | Format-List
-
- - name: mingw-build
- id: build
- shell: cmd
- run: |
- mkdir build
- cd build
- cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=D:\a\FluentUI\Qt\6.5.0\mingw_64 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -GNinja ..
- cmake --build . --target all --config Release --parallel
-
- - name: package
- id: package
- env:
- archiveName: ${{ env.fileName }}-${{ matrix.qt_arch }}-${{ matrix.qt_ver }}
- shell: pwsh
- run: |
- & scripts\windows-mingw-publish.ps1 ${env:archiveName} ${env:targetName}
- $name = ${env:archiveName}
- echo "::set-output name=packageName::$name"
-
- - uses: actions/upload-artifact@v2
- with:
- name: ${{ steps.package.outputs.packageName }}
- path: ${{ steps.package.outputs.packageName }}
-
- - name: uploadRelease
- if: startsWith(github.event.ref, 'refs/tags/')
- uses: svenstaro/upload-release-action@v2
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: ${{ steps.package.outputs.packageName }}.zip
- asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.zip
- tag: ${{ github.ref }}
- overwrite: true
\ No newline at end of file
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index 4a29d71c..6bbf5523 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -1,63 +1,69 @@
name: Windows
on:
+ # push代码时触发workflow
push:
paths:
- - '*.txt'
+ - '*.pro'
- 'src/**'
- - 'example/**'
- - 'scripts/**'
- '.github/workflows/windows.yml'
pull_request:
paths:
- - '*.txt'
- - 'example/**'
+ - '*.pro'
- 'src/**'
- - 'scripts/**'
- - '.github/workflows/windows.yml'
-
+ - '.github/workflows/windows.yml'
jobs:
build:
name: Build
- runs-on: ${{ matrix.os }}
+ # 运行平台, windows-latest目前是windows server 2019
+ # 参考文档 https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md
+ runs-on: windows-2019
strategy:
+ # 矩阵配置
matrix:
- os: [windows-2019]
include:
- - qt_ver: 6.5.0
+ # 5.15.2 参考 https://mirrors.cloud.tencent.com/qt/online/qtsdkrepository/windows_x86/desktop/qt5_5152/
+ - qt_ver: 5.15.2
+ qt_arch: win32_msvc2019
+ msvc_arch: x86
+ qt_arch_install: msvc2019
+ - qt_ver: 5.15.2
qt_arch: win64_msvc2019_64
msvc_arch: x64
qt_arch_install: msvc2019_64
env:
targetName: example.exe
fileName: example
+ # 步骤
steps:
- - name: Check out repository
- uses: actions/checkout@v3
+ # 安装Qt
+ - name: Install Qt
+ # 使用外部action。这个action专门用来安装Qt
+ uses: jurplel/install-qt-action@v2
+ with:
+ # Version of Qt to install
+ version: ${{ matrix.qt_ver }}
+ # Target platform for build
+ # target: ${{ matrix.qt_target }}
+ arch: ${{ matrix.qt_arch }}
+ cached: 'false'
+ aqtversion: '==2.0.5'
+ # 拉取代码
+ - uses: actions/checkout@v2
with:
submodules: recursive
-
- - name: Install Qt
- uses: jurplel/install-qt-action@v3
- with:
- version: ${{ matrix.qt_ver }}
- arch: ${{ matrix.qt_arch }}
- cache: ${{steps.cache-qt.outputs.cache-hit}}
- modules: 'qt5compat qtmultimedia qtshadertools qtimageformats qtspeech'
-
+ # msvc编译
- name: msvc-build
id: build
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.msvc_arch }}
- mkdir build
- cd build
- cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=D:\a\FluentUI\Qt\6.5.0\msvc2019_64 -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DCMAKE_BUILD_TYPE=Release -GNinja ..
- cmake --build . --target all --config Release --parallel
+ qmake
+ nmake
echo winSdkDir=%WindowsSdkDir% >> %GITHUB_ENV%
echo winSdkVer=%WindowsSdkVersion% >> %GITHUB_ENV%
echo vcToolsInstallDir=%VCToolsInstallDir% >> %GITHUB_ENV%
echo vcToolsRedistDir=%VCToolsRedistDir% >> %GITHUB_ENV%
-
+ # 打包
- name: package
id: package
env:
@@ -68,19 +74,20 @@ jobs:
& scripts\windows-publish.ps1 ${env:archiveName} ${env:targetName}
# 记录packageName给后续step
$name = ${env:archiveName}
- echo "::set-output name=packageName::$name"
-
+ echo "::set-output name=packageName::$name"
+ # tag 查询github-Release
+ # 上传artifacts
- uses: actions/upload-artifact@v2
with:
name: ${{ steps.package.outputs.packageName }}
path: ${{ steps.package.outputs.packageName }}
-
+ # tag 上传Release
- name: uploadRelease
if: startsWith(github.event.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ steps.package.outputs.packageName }}.zip
- asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.zip
+ asset_name: ${{ steps.package.outputs.packageName }}.zip
tag: ${{ github.ref }}
overwrite: true
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8966066b..2e9eabf4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.20)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
project(FluentUI VERSION 0.1 LANGUAGES CXX)
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index 4bd0ba3b..d361697d 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -1,13 +1,9 @@
cmake_minimum_required(VERSION 3.20)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
project(example VERSION 0.1 LANGUAGES CXX)
-#配置通用编译
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-if(APPLE)
- set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE)
-endif()
-
#设置可执行文件输出目录
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin/debug)
@@ -21,15 +17,13 @@ file(TO_CMAKE_PATH "/" PATH_SEPARATOR)
#设置版本号
add_definitions(-DVERSION=1,3,7,3)
-find_package(Qt6 REQUIRED COMPONENTS Quick)
+find_package(Qt5 REQUIRED COMPONENTS Quick)
-if(QT_VERSION VERSION_GREATER_EQUAL "6.3")
- qt_standard_project_setup()
-else()
- set(CMAKE_AUTOMOC ON)
- set(CMAKE_AUTORCC ON)
- set(CMAKE_AUTOUIC ON)
-endif()
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
#遍历所有Cpp文件
file(GLOB_RECURSE CPP_FILES *.cpp *.h)
@@ -54,14 +48,14 @@ endforeach(filepath)
#添加可执行文件
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
- qt_add_executable(example
- ${sources_files}
- example.rc
- )
+ add_executable(example
+ ${sources_files}
+ example.rc
+ )
else ()
- qt_add_executable(example
- ${sources_files}
- )
+ add_executable(example
+ ${sources_files}
+ )
endif ()
#复制动态库到可执行文件同级目录下
@@ -80,13 +74,8 @@ if(WIN32)
)
endif()
-#添加qml模块
-qt_add_qml_module(example
- URI example
- VERSION 1.0
- QML_FILES ${qml_files}
- RESOURCES ${resource_files}
-)
+#设置编译对象
+target_sources(example PRIVATE example.qrc)
#设置属性
set_target_properties(example PROPERTIES
@@ -98,22 +87,12 @@ set_target_properties(example PROPERTIES
)
#链接库
-if (FLUENTUI_BUILD_STATIC_LIB)
- target_link_libraries(example PRIVATE
- Qt6::Quick
- fluentui
- fluentuiplugin
- FramelessHelper::Core
- FramelessHelper::Quick
- )
-else()
- target_link_libraries(example PRIVATE
- Qt6::Quick
- fluentuiplugin
- FramelessHelper::Core
- FramelessHelper::Quick
- )
-endif()
+target_link_libraries(example PRIVATE
+ Qt::Quick
+ fluentuiplugin
+ FramelessHelper::Core
+ FramelessHelper::Quick
+)
#安装
install(TARGETS example
diff --git a/example/example.qrc b/example/example.qrc
new file mode 100644
index 00000000..efc17e5d
--- /dev/null
+++ b/example/example.qrc
@@ -0,0 +1,177 @@
+
+
+ res/svg/avatar_1.svg
+ res/svg/avatar_2.svg
+ res/svg/avatar_3.svg
+ res/svg/avatar_4.svg
+ res/svg/avatar_5.svg
+ res/svg/avatar_6.svg
+ res/svg/avatar_7.svg
+ res/svg/avatar_8.svg
+ res/svg/avatar_9.svg
+ res/svg/avatar_10.svg
+ res/svg/avatar_11.svg
+ res/svg/avatar_12.svg
+ res/image/banner_1.jpg
+ res/image/banner_2.jpg
+ res/image/banner_3.jpg
+ res/image/logo_openai.png
+ res/image/favicon.ico
+ res/image/bg_home_header.png
+ res/image/ic_home_github.png
+ res/image/control/Acrylic.png
+ res/image/control/AnimatedIcon.png
+ res/image/control/AnimatedVisualPlayer.png
+ res/image/control/AnimationInterop.png
+ res/image/control/AppBarButton.png
+ res/image/control/AppBarSeparator.png
+ res/image/control/AppBarToggleButton.png
+ res/image/control/AutomationProperties.png
+ res/image/control/AutoSuggestBox.png
+ res/image/control/Border.png
+ res/image/control/BreadcrumbBar.png
+ res/image/control/Button.png
+ res/image/control/CalendarDatePicker.png
+ res/image/control/CalendarView.png
+ res/image/control/Canvas.png
+ res/image/control/Checkbox.png
+ res/image/control/Clipboard.png
+ res/image/control/ColorPaletteResources.png
+ res/image/control/ColorPicker.png
+ res/image/control/ComboBox.png
+ res/image/control/CommandBar.png
+ res/image/control/CommandBarFlyout.png
+ res/image/control/CompactSizing.png
+ res/image/control/ConnectedAnimation.png
+ res/image/control/ContentDialog.png
+ res/image/control/CreateMultipleWindows.png
+ res/image/control/DataGrid.png
+ res/image/control/DatePicker.png
+ res/image/control/DropDownButton.png
+ res/image/control/EasingFunction.png
+ res/image/control/Expander.png
+ res/image/control/FilePicker.png
+ res/image/control/FlipView.png
+ res/image/control/Flyout.png
+ res/image/control/Grid.png
+ res/image/control/GridView.png
+ res/image/control/HyperlinkButton.png
+ res/image/control/IconElement.png
+ res/image/control/Image.png
+ res/image/control/ImplicitTransition.png
+ res/image/control/InfoBadge.png
+ res/image/control/InfoBar.png
+ res/image/control/InkCanvas.png
+ res/image/control/InkToolbar.png
+ res/image/control/InputValidation.png
+ res/image/control/ItemsRepeater.png
+ res/image/control/Line.png
+ res/image/control/ListBox.png
+ res/image/control/ListView.png
+ res/image/control/MediaPlayerElement.png
+ res/image/control/MenuBar.png
+ res/image/control/MenuFlyout.png
+ res/image/control/NavigationView.png
+ res/image/control/NumberBox.png
+ res/image/control/PageTransition.png
+ res/image/control/ParallaxView.png
+ res/image/control/PasswordBox.png
+ res/image/control/PersonPicture.png
+ res/image/control/PipsPager.png
+ res/image/control/Pivot.png
+ res/image/control/ProgressBar.png
+ res/image/control/ProgressRing.png
+ res/image/control/PullToRefresh.png
+ res/image/control/RadialGradientBrush.png
+ res/image/control/RadioButton.png
+ res/image/control/RadioButtons.png
+ res/image/control/RatingControl.png
+ res/image/control/RelativePanel.png
+ res/image/control/RepeatButton.png
+ res/image/control/RevealFocus.png
+ res/image/control/RichEditBox.png
+ res/image/control/RichTextBlock.png
+ res/image/control/ScrollViewer.png
+ res/image/control/SemanticZoom.png
+ res/image/control/Shape.png
+ res/image/control/Slider.png
+ res/image/control/Sound.png
+ res/image/control/SplitButton.png
+ res/image/control/SplitView.png
+ res/image/control/StackPanel.png
+ res/image/control/StandardUICommand.png
+ res/image/control/SwipeControl.png
+ res/image/control/TabView.png
+ res/image/control/TeachingTip.png
+ res/image/control/TextBlock.png
+ res/image/control/TextBox.png
+ res/image/control/ThemeTransition.png
+ res/image/control/TimePicker.png
+ res/image/control/TitleBar.png
+ res/image/control/ToggleButton.png
+ res/image/control/ToggleSplitButton.png
+ res/image/control/ToggleSwitch.png
+ res/image/control/ToolTip.png
+ res/image/control/TreeView.png
+ res/image/control/VariableSizedWrapGrid.png
+ res/image/control/Viewbox.png
+ res/image/control/WebView.png
+ res/image/control/XamlUICommand.png
+ res/svg/home.svg
+ res/svg/home_dark.svg
+ res/image/qrcode_wx.jpg
+ res/image/qrcode_zfb.jpg
+ qml/App.qml
+ qml/component/CodeExpander.qml
+ qml/global/ItemsFooter.qml
+ qml/global/ItemsOriginal.qml
+ qml/global/MainEvent.qml
+ qml/global/qmldir
+ qml/page/T_Acrylic.qml
+ qml/page/T_Awesome.qml
+ qml/page/T_Badge.qml
+ qml/page/T_BreadcrumbBar.qml
+ qml/page/T_Buttons.qml
+ qml/page/T_CalendarPicker.qml
+ qml/page/T_Carousel.qml
+ qml/page/T_CheckBox.qml
+ qml/page/T_ColorPicker.qml
+ qml/page/T_ComboBox.qml
+ qml/page/T_DatePicker.qml
+ qml/page/T_Dialog.qml
+ qml/page/T_Expander.qml
+ qml/page/T_FlipView.qml
+ qml/page/T_Home.qml
+ qml/page/T_InfoBar.qml
+ qml/page/T_Menu.qml
+ qml/page/T_MultiWindow.qml
+ qml/page/T_Pivot.qml
+ qml/page/T_Progress.qml
+ qml/page/T_RatingControl.qml
+ qml/page/T_Rectangle.qml
+ qml/page/T_Settings.qml
+ qml/page/T_Slider.qml
+ qml/page/T_StatusView.qml
+ qml/page/T_TableView.qml
+ qml/page/T_TabView.qml
+ qml/page/T_Text.qml
+ qml/page/T_TextBox.qml
+ qml/page/T_Theme.qml
+ qml/page/T_TimePicker.qml
+ qml/page/T_ToggleSwitch.qml
+ qml/page/T_Tooltip.qml
+ qml/page/T_TreeView.qml
+ qml/page/T_Typography.qml
+ qml/window/AboutWindow.qml
+ qml/window/LoginWindow.qml
+ qml/window/MainWindow.qml
+ qml/window/SingleInstanceWindow.qml
+ qml/window/SingleTaskWindow.qml
+ qml/window/StandardWindow.qml
+ qml/component/CustomWindow.qml
+ qml/page/T_Image.qml
+ qml/page/T_Pagination.qml
+ qml/page/T_RadioButton.qml
+ qml/page/T_RemoteLoader.qml
+
+
diff --git a/example/qml/App.qml b/example/qml/App.qml
index eefb1a74..a7caf124 100644
--- a/example/qml/App.qml
+++ b/example/qml/App.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Window
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Window {
id: app
diff --git a/example/qml/component/CodeExpander.qml b/example/qml/component/CodeExpander.qml
index a198fdfd..845ae1ea 100644
--- a/example/qml/component/CodeExpander.qml
+++ b/example/qml/component/CodeExpander.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
FluExpander{
diff --git a/example/qml/component/CustomWindow.qml b/example/qml/component/CustomWindow.qml
index 884dde22..de893ccc 100644
--- a/example/qml/component/CustomWindow.qml
+++ b/example/qml/component/CustomWindow.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Layouts
-import FluentUI
-import org.wangwenx190.FramelessHelper
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
+import org.wangwenx190.FramelessHelper 1.0
FluWindow {
@@ -50,15 +50,6 @@ FluWindow {
window.show()
}
}
- Connections{
- target: FluTheme
- function onDarkChanged(){
- if (FluTheme.dark)
- FramelessUtils.systemTheme = FramelessHelperConstants.Dark
- else
- FramelessUtils.systemTheme = FramelessHelperConstants.Light
- }
- }
function setHitTestVisible(com){
framless_helper.setHitTestVisible(com)
diff --git a/example/qml/global/ItemsFooter.qml b/example/qml/global/ItemsFooter.qml
index c6742d06..463b52e2 100644
--- a/example/qml/global/ItemsFooter.qml
+++ b/example/qml/global/ItemsFooter.qml
@@ -1,7 +1,7 @@
pragma Singleton
-import QtQuick
-import FluentUI
+import QtQuick 2.15
+import FluentUI 1.0
FluObject{
diff --git a/example/qml/global/ItemsOriginal.qml b/example/qml/global/ItemsOriginal.qml
index aa8852ca..78eaacc0 100644
--- a/example/qml/global/ItemsOriginal.qml
+++ b/example/qml/global/ItemsOriginal.qml
@@ -1,7 +1,7 @@
pragma Singleton
-import QtQuick
-import FluentUI
+import QtQuick 2.15
+import FluentUI 1.0
FluObject{
diff --git a/example/qml/global/MainEvent.qml b/example/qml/global/MainEvent.qml
index 9246e9da..98aa9543 100644
--- a/example/qml/global/MainEvent.qml
+++ b/example/qml/global/MainEvent.qml
@@ -1,8 +1,8 @@
pragma Singleton
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
QtObject {
property int displayMode : FluNavigationView.Auto
diff --git a/example/qml/page/T_Acrylic.qml b/example/qml/page/T_Acrylic.qml
index 3c625222..79b2b111 100644
--- a/example/qml/page/T_Acrylic.qml
+++ b/example/qml/page/T_Acrylic.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Awesome.qml b/example/qml/page/T_Awesome.qml
index e607af36..098fb18c 100644
--- a/example/qml/page/T_Awesome.qml
+++ b/example/qml/page/T_Awesome.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
FluContentPage {
diff --git a/example/qml/page/T_Badge.qml b/example/qml/page/T_Badge.qml
index baccc3d7..8ce25806 100644
--- a/example/qml/page/T_Badge.qml
+++ b/example/qml/page/T_Badge.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_BreadcrumbBar.qml b/example/qml/page/T_BreadcrumbBar.qml
index f6a1ba08..bfe65baf 100644
--- a/example/qml/page/T_BreadcrumbBar.qml
+++ b/example/qml/page/T_BreadcrumbBar.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Buttons.qml b/example/qml/page/T_Buttons.qml
index 354d25bb..9be17171 100644
--- a/example/qml/page/T_Buttons.qml
+++ b/example/qml/page/T_Buttons.qml
@@ -1,9 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_CalendarPicker.qml b/example/qml/page/T_CalendarPicker.qml
index 4cb67901..c9d10574 100644
--- a/example/qml/page/T_CalendarPicker.qml
+++ b/example/qml/page/T_CalendarPicker.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Carousel.qml b/example/qml/page/T_Carousel.qml
index 6e9c46fe..44f88f3a 100644
--- a/example/qml/page/T_Carousel.qml
+++ b/example/qml/page/T_Carousel.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_CheckBox.qml b/example/qml/page/T_CheckBox.qml
index e3c6ea4a..28605536 100644
--- a/example/qml/page/T_CheckBox.qml
+++ b/example/qml/page/T_CheckBox.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_ColorPicker.qml b/example/qml/page/T_ColorPicker.qml
index 24954589..93375c3a 100644
--- a/example/qml/page/T_ColorPicker.qml
+++ b/example/qml/page/T_ColorPicker.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_ComboBox.qml b/example/qml/page/T_ComboBox.qml
index d8b1f448..7a12c48e 100644
--- a/example/qml/page/T_ComboBox.qml
+++ b/example/qml/page/T_ComboBox.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_DatePicker.qml b/example/qml/page/T_DatePicker.qml
index 0fe6c4df..ac978370 100644
--- a/example/qml/page/T_DatePicker.qml
+++ b/example/qml/page/T_DatePicker.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Dialog.qml b/example/qml/page/T_Dialog.qml
index 2f949abd..1e1d8414 100644
--- a/example/qml/page/T_Dialog.qml
+++ b/example/qml/page/T_Dialog.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Expander.qml b/example/qml/page/T_Expander.qml
index 36d89512..b9af09a3 100644
--- a/example/qml/page/T_Expander.qml
+++ b/example/qml/page/T_Expander.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
@@ -58,7 +58,6 @@ FluScrollablePage{
width: parent.width
height: parent.height
contentWidth: width
- maximumFlickVelocity: 1680
contentHeight: text_info.height
ScrollBar.vertical: FluScrollBar {}
FluText{
diff --git a/example/qml/page/T_FlipView.qml b/example/qml/page/T_FlipView.qml
index 3baf06c1..843b9ab9 100644
--- a/example/qml/page/T_FlipView.qml
+++ b/example/qml/page/T_FlipView.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Home.qml b/example/qml/page/T_Home.qml
index 8b457558..1348b433 100644
--- a/example/qml/page/T_Home.qml
+++ b/example/qml/page/T_Home.qml
@@ -1,9 +1,9 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
import "qrc:///example/qml/global"
-import FluentUI
+import FluentUI 1.0
FluScrollablePage{
diff --git a/example/qml/page/T_Image.qml b/example/qml/page/T_Image.qml
index bbeb6dcf..fb63d065 100644
--- a/example/qml/page/T_Image.qml
+++ b/example/qml/page/T_Image.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_InfoBar.qml b/example/qml/page/T_InfoBar.qml
index 41b6d76f..9503b578 100644
--- a/example/qml/page/T_InfoBar.qml
+++ b/example/qml/page/T_InfoBar.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Menu.qml b/example/qml/page/T_Menu.qml
index 61f11ae8..01133a4a 100644
--- a/example/qml/page/T_Menu.qml
+++ b/example/qml/page/T_Menu.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_MultiWindow.qml b/example/qml/page/T_MultiWindow.qml
index ec8ed94e..67dbde59 100644
--- a/example/qml/page/T_MultiWindow.qml
+++ b/example/qml/page/T_MultiWindow.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Pagination.qml b/example/qml/page/T_Pagination.qml
index fa072dc6..838a4c9f 100644
--- a/example/qml/page/T_Pagination.qml
+++ b/example/qml/page/T_Pagination.qml
@@ -1,9 +1,9 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
import "qrc:///example/qml/component"
-import FluentUI
+import FluentUI 1.0
FluScrollablePage{
diff --git a/example/qml/page/T_Pivot.qml b/example/qml/page/T_Pivot.qml
index 0fe52dfd..bd75554c 100644
--- a/example/qml/page/T_Pivot.qml
+++ b/example/qml/page/T_Pivot.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Progress.qml b/example/qml/page/T_Progress.qml
index 27bf6418..7dbb1c84 100644
--- a/example/qml/page/T_Progress.qml
+++ b/example/qml/page/T_Progress.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_RadioButton.qml b/example/qml/page/T_RadioButton.qml
index 07b383b7..85307ab5 100644
--- a/example/qml/page/T_RadioButton.qml
+++ b/example/qml/page/T_RadioButton.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_RatingControl.qml b/example/qml/page/T_RatingControl.qml
index 4c39d380..05bd99a5 100644
--- a/example/qml/page/T_RatingControl.qml
+++ b/example/qml/page/T_RatingControl.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage {
diff --git a/example/qml/page/T_Rectangle.qml b/example/qml/page/T_Rectangle.qml
index 9cfe42aa..346aeab4 100644
--- a/example/qml/page/T_Rectangle.qml
+++ b/example/qml/page/T_Rectangle.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_RemoteLoader.qml b/example/qml/page/T_RemoteLoader.qml
index 310d0718..e4a39f64 100644
--- a/example/qml/page/T_RemoteLoader.qml
+++ b/example/qml/page/T_RemoteLoader.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluPage{
diff --git a/example/qml/page/T_Settings.qml b/example/qml/page/T_Settings.qml
index 4158dc42..b10d42cc 100644
--- a/example/qml/page/T_Settings.qml
+++ b/example/qml/page/T_Settings.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/global"
import "qrc:///example/qml/component"
diff --git a/example/qml/page/T_Slider.qml b/example/qml/page/T_Slider.qml
index 517904a6..138e265a 100644
--- a/example/qml/page/T_Slider.qml
+++ b/example/qml/page/T_Slider.qml
@@ -1,9 +1,9 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
import "qrc:///example/qml/component"
-import FluentUI
+import FluentUI 1.0
FluScrollablePage{
diff --git a/example/qml/page/T_StatusView.qml b/example/qml/page/T_StatusView.qml
index 9f769523..e311de10 100644
--- a/example/qml/page/T_StatusView.qml
+++ b/example/qml/page/T_StatusView.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_TabView.qml b/example/qml/page/T_TabView.qml
index 8609c312..71cd1254 100644
--- a/example/qml/page/T_TabView.qml
+++ b/example/qml/page/T_TabView.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_TableView.qml b/example/qml/page/T_TableView.qml
index 4b722064..9e9a8bbf 100644
--- a/example/qml/page/T_TableView.qml
+++ b/example/qml/page/T_TableView.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluContentPage{
diff --git a/example/qml/page/T_Text.qml b/example/qml/page/T_Text.qml
index c5624f62..43f43f13 100644
--- a/example/qml/page/T_Text.qml
+++ b/example/qml/page/T_Text.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_TextBox.qml b/example/qml/page/T_TextBox.qml
index 1fcc1a2a..469e4bfa 100644
--- a/example/qml/page/T_TextBox.qml
+++ b/example/qml/page/T_TextBox.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Theme.qml b/example/qml/page/T_Theme.qml
index 0a9fe653..9b979816 100644
--- a/example/qml/page/T_Theme.qml
+++ b/example/qml/page/T_Theme.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_TimePicker.qml b/example/qml/page/T_TimePicker.qml
index 2acadd32..6baa3b1a 100644
--- a/example/qml/page/T_TimePicker.qml
+++ b/example/qml/page/T_TimePicker.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_ToggleSwitch.qml b/example/qml/page/T_ToggleSwitch.qml
index 0a708f0a..79122cc3 100644
--- a/example/qml/page/T_ToggleSwitch.qml
+++ b/example/qml/page/T_ToggleSwitch.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_Tooltip.qml b/example/qml/page/T_Tooltip.qml
index 1a05ef80..16e335a8 100644
--- a/example/qml/page/T_Tooltip.qml
+++ b/example/qml/page/T_Tooltip.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage{
diff --git a/example/qml/page/T_TreeView.qml b/example/qml/page/T_TreeView.qml
index 16af1919..a0757674 100644
--- a/example/qml/page/T_TreeView.qml
+++ b/example/qml/page/T_TreeView.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
FluScrollablePage {
diff --git a/example/qml/page/T_Typography.qml b/example/qml/page/T_Typography.qml
index 61f3cf43..854eab56 100644
--- a/example/qml/page/T_Typography.qml
+++ b/example/qml/page/T_Typography.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
FluContentPage {
diff --git a/example/qml/window/AboutWindow.qml b/example/qml/window/AboutWindow.qml
index 82db5e89..c715e78b 100644
--- a/example/qml/window/AboutWindow.qml
+++ b/example/qml/window/AboutWindow.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
CustomWindow {
diff --git a/example/qml/window/LoginWindow.qml b/example/qml/window/LoginWindow.qml
index 9f3e25f7..8ae713ec 100644
--- a/example/qml/window/LoginWindow.qml
+++ b/example/qml/window/LoginWindow.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
CustomWindow {
diff --git a/example/qml/window/MainWindow.qml b/example/qml/window/MainWindow.qml
index 3929fb06..d6f86dc6 100644
--- a/example/qml/window/MainWindow.qml
+++ b/example/qml/window/MainWindow.qml
@@ -1,10 +1,10 @@
-import QtQuick
-import QtQuick.Window
-import QtQuick.Controls
-import QtQuick.Layouts
-import Qt.labs.platform
-import FluentUI
-import example
+import QtQuick 2.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import Qt.labs.platform 1.0
+import FluentUI 1.0
+import example 1.0
import "qrc:///example/qml/component"
import "qrc:///example/qml/global"
@@ -37,7 +37,7 @@ CustomWindow {
SystemTrayIcon {
id:system_tray
visible: true
- icon.source: "qrc:/example/res/image/favicon.ico"
+ iconSource: "qrc:/example/res/image/favicon.ico"
tooltip: "FluentUI"
menu: Menu {
MenuItem {
diff --git a/example/qml/window/SingleInstanceWindow.qml b/example/qml/window/SingleInstanceWindow.qml
index e6b855d1..bb13626f 100644
--- a/example/qml/window/SingleInstanceWindow.qml
+++ b/example/qml/window/SingleInstanceWindow.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
CustomWindow {
diff --git a/example/qml/window/SingleTaskWindow.qml b/example/qml/window/SingleTaskWindow.qml
index d5bab17d..f3cfdc1c 100644
--- a/example/qml/window/SingleTaskWindow.qml
+++ b/example/qml/window/SingleTaskWindow.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
CustomWindow {
diff --git a/example/qml/window/StandardWindow.qml b/example/qml/window/StandardWindow.qml
index c7174016..696eed45 100644
--- a/example/qml/window/StandardWindow.qml
+++ b/example/qml/window/StandardWindow.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
import "qrc:///example/qml/component"
CustomWindow {
diff --git a/example/src/main.cpp b/example/src/main.cpp
index 5bd63650..3facb745 100644
--- a/example/src/main.cpp
+++ b/example/src/main.cpp
@@ -26,7 +26,7 @@ int main(int argc, char *argv[])
FramelessConfig::instance()->set(Global::Option::DisableLazyInitializationForMicaMaterial);
FramelessConfig::instance()->set(Global::Option::CenterWindowBeforeShow);
FramelessConfig::instance()->set(Global::Option::ForceNonNativeBackgroundBlur);
- FramelessConfig::instance()->set(Global::Option::EnableBlurBehindWindow);
+ FramelessConfig::instance()->set(Global::Option::EnableBlurBehindWindow,false);
#ifdef Q_OS_MACOS
FramelessConfig::instance()->set(Global::Option::ForceNonNativeBackgroundBlur,false);
#endif
diff --git a/example/src/stdafx.h b/example/src/stdafx.h
index 0fe92d6d..b0fd29a0 100644
--- a/example/src/stdafx.h
+++ b/example/src/stdafx.h
@@ -1,7 +1,3 @@
-#if defined(_MSC_VER) && (_MSC_VER >= 1600)
-#pragma execution_character_set("utf-8")
-#endif
-
#ifndef STDAFX_H
#define STDAFX_H
diff --git a/framelesshelper b/framelesshelper
index f977a78d..20e12e5e 160000
--- a/framelesshelper
+++ b/framelesshelper
@@ -1 +1 @@
-Subproject commit f977a78d0ee8cf5f5dc723e8c5e9da8846d420b9
+Subproject commit 20e12e5ec056b8d0959a4d30b715832f2a5d7a70
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 36c61543..a06fce0f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,15 +1,7 @@
cmake_minimum_required(VERSION 3.20)
-
-if (FLUENTUI_BUILD_STATIC_LIB)
- project(fluentui LANGUAGES CXX)
-else()
- project(fluentuiplugin LANGUAGES CXX)
-endif()
-#配置通用编译
+set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-if(APPLE)
- set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE)
-endif()
+project(fluentuiplugin LANGUAGES CXX)
#设置QML插件输出目录->D:\Qt\6.4.3\msvc2019_64\qml\FluentUI
set(QML_PLUGIN_DIRECTORY ${CMAKE_PREFIX_PATH}/qml/FluentUI)
@@ -17,14 +9,16 @@ set(QML_PLUGIN_DIRECTORY ${CMAKE_PREFIX_PATH}/qml/FluentUI)
#设置版本号
add_definitions(-DVERSION=1,3,7,3)
-find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml)
+find_package(Qt5 REQUIRED COMPONENTS Core Quick Qml)
-if(QT_VERSION VERSION_GREATER_EQUAL "6.3")
- qt_standard_project_setup()
-else()
- set(CMAKE_AUTOMOC ON)
- set(CMAKE_AUTORCC ON)
- set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+if (FLUENTUI_BUILD_STATIC_LIB)
+ add_definitions(-DQT_PLUGIN)
+ add_definitions(-DQT_STATICPLUGIN=1)
+ add_definitions(-DFLUENTUI_BUILD_STATIC_LIB=1)
endif()
#遍历所有Cpp文件
@@ -48,48 +42,30 @@ foreach(filepath ${RES_PATHS})
list(APPEND resource_files ${filename})
endforeach(filepath)
-#修改资源文件导出路径
-foreach(filepath IN LISTS qml_files resource_files)
- string(REPLACE "imports/FluentUI/" "" filename ${filepath})
- set_source_files_properties(${filepath} PROPERTIES QT_RESOURCE_ALIAS ${filename})
-endforeach()
-
#添加qml模块
+include(cmake/QmlPlugin.cmake)
if (FLUENTUI_BUILD_STATIC_LIB)
set(LIB_TYPE "STATIC")
else()
set(LIB_TYPE "SHARED")
endif()
-qt_add_library(${PROJECT_NAME} ${LIB_TYPE})
-if (FLUENTUI_BUILD_STATIC_LIB)
- qt_add_qml_module(${PROJECT_NAME}
- #在静态库编译中使用PLUGIN_TARGET会导致链接失败
- OUTPUT_DIRECTORY ${QML_PLUGIN_DIRECTORY}
- VERSION 1.0
- URI "FluentUI"
- #修改qmltypes文件名称。默认fluentuiplugin.qmltypes,使用默认名称有时候import FluentUI会爆红,所以修改成plugins.qmltypes
- TYPEINFO "plugins.qmltypes"
- SOURCES ${sources_files} fluentui.rc
- QML_FILES ${qml_files}
- RESOURCES ${resource_files}
- )
-else()
- qt_add_qml_module(${PROJECT_NAME}
- #没有下面这行代码就会生成fluentuiplugin.dll与fluentuipluginplugin.dll两个动态库
- PLUGIN_TARGET fluentuiplugin
- OUTPUT_DIRECTORY ${QML_PLUGIN_DIRECTORY}
- VERSION 1.0
- URI "FluentUI"
- #修改qmltypes文件名称。默认fluentuiplugin.qmltypes,使用默认名称有时候import FluentUI会爆红,所以修改成plugins.qmltypes
- TYPEINFO "plugins.qmltypes"
- SOURCES ${sources_files} fluentui.rc
- QML_FILES ${qml_files}
- RESOURCES ${resource_files}
- )
-endif()
+add_qmlplugin(fluentuiplugin
+ URI "FluentUI"
+ VERSION 1.0
+ SOURCES ${sources_files} fluentui.rc fluentui.qrc
+ QMLFILES ${qml_files}
+ QMLDIR imports/FluentUI
+ BINARY_DIR ${QML_PLUGIN_DIRECTORY}
+ LIBTYPE ${LIB_TYPE}
+)
+
+if(FLUENTUI_BUILD_STATIC_LIB)
+ SET_TARGET_PROPERTIES(fluentuiplugin PROPERTIES
+ AUTOMOC_MOC_OPTIONS -Muri=FluentUI)
+endif()
#链接库
-target_link_libraries(${PROJECT_NAME} PUBLIC
+target_link_libraries(fluentuiplugin PUBLIC
Qt::CorePrivate
Qt::QuickPrivate
Qt::QmlPrivate
diff --git a/src/FluApp.h b/src/FluApp.h
index 90b057a1..26716c1f 100644
--- a/src/FluApp.h
+++ b/src/FluApp.h
@@ -26,9 +26,6 @@ class FluApp : public QObject
* @brief routes 路由表
*/
Q_PROPERTY_AUTO(QJsonObject,routes);
-
- QML_NAMED_ELEMENT(FluApp)
- QML_SINGLETON
private:
/**
* @brief FluApp 将默认构造函数设置为私有,则qml创建单例就会走create工厂方法创建单例
diff --git a/src/FluColors.h b/src/FluColors.h
index 92ce68af..e97d1a84 100644
--- a/src/FluColors.h
+++ b/src/FluColors.h
@@ -44,8 +44,6 @@ class FluColors : public QObject
Q_PROPERTY_AUTO(FluColorSet*,Blue);
Q_PROPERTY_AUTO(FluColorSet*,Teal);
Q_PROPERTY_AUTO(FluColorSet*,Green);
- QML_NAMED_ELEMENT(FluColors)
- QML_SINGLETON
private:
explicit FluColors(QObject *parent = nullptr);
static FluColors* m_instance;
diff --git a/src/FluTextStyle.cpp b/src/FluTextStyle.cpp
index 887f0b11..e9503849 100644
--- a/src/FluTextStyle.cpp
+++ b/src/FluTextStyle.cpp
@@ -1,4 +1,13 @@
#include "FluTextStyle.h"
+FluTextStyle* FluTextStyle::m_instance = nullptr;
+
+FluTextStyle *FluTextStyle::getInstance()
+{
+ if(FluTextStyle::m_instance == nullptr){
+ FluTextStyle::m_instance = new FluTextStyle;
+ }
+ return FluTextStyle::m_instance;
+}
FluTextStyle::FluTextStyle(QObject *parent)
: QObject{parent}
diff --git a/src/FluTextStyle.h b/src/FluTextStyle.h
index de10fa4f..c3b34b8e 100644
--- a/src/FluTextStyle.h
+++ b/src/FluTextStyle.h
@@ -10,7 +10,6 @@ class FluTextStyle : public QObject
{
Q_OBJECT
public:
- explicit FluTextStyle(QObject *parent = nullptr);
Q_PROPERTY_AUTO(QFont,Caption);
Q_PROPERTY_AUTO(QFont,Body);
Q_PROPERTY_AUTO(QFont,BodyStrong);
@@ -18,10 +17,12 @@ public:
Q_PROPERTY_AUTO(QFont,Title);
Q_PROPERTY_AUTO(QFont,TitleLarge);
Q_PROPERTY_AUTO(QFont,Display);
- QML_NAMED_ELEMENT(FluTextStyle)
- QML_SINGLETON
-signals:
+private:
+ static FluTextStyle* m_instance;
+public:
+ explicit FluTextStyle(QObject *parent = nullptr);
+ static FluTextStyle *getInstance();
};
#endif // FLUTEXTSTYLE_H
diff --git a/src/FluTheme.h b/src/FluTheme.h
index ad0b4116..26e90ad0 100644
--- a/src/FluTheme.h
+++ b/src/FluTheme.h
@@ -1,4 +1,4 @@
-#ifndef FLUTHEME_H
+#ifndef FLUTHEME_H
#define FLUTHEME_H
#include
@@ -36,9 +36,6 @@ class FluTheme : public QObject
* @brief 是否开启动画效果
*/
Q_PROPERTY_AUTO(bool,enableAnimation);
-
- QML_NAMED_ELEMENT(FluTheme)
- QML_SINGLETON
private:
static FluTheme* m_instance;
explicit FluTheme(QObject *parent = nullptr);
diff --git a/src/FluTools.h b/src/FluTools.h
index a045e043..2905f8ab 100644
--- a/src/FluTools.h
+++ b/src/FluTools.h
@@ -11,9 +11,6 @@
class FluTools : public QObject
{
Q_OBJECT
-
- QML_NAMED_ELEMENT(FluTools)
- QML_SINGLETON
private:
explicit FluTools(QObject *parent = nullptr);
static FluTools* m_instance;
diff --git a/src/WindowHelper.h b/src/WindowHelper.h
index d2596498..d5e164b4 100644
--- a/src/WindowHelper.h
+++ b/src/WindowHelper.h
@@ -14,7 +14,6 @@
class WindowHelper : public QObject
{
Q_OBJECT
- QML_NAMED_ELEMENT(WindowHelper)
public:
explicit WindowHelper(QObject *parent = nullptr);
diff --git a/src/cmake/QmlPlugin.cmake b/src/cmake/QmlPlugin.cmake
new file mode 100644
index 00000000..08dfdbf4
--- /dev/null
+++ b/src/cmake/QmlPlugin.cmake
@@ -0,0 +1,141 @@
+include(CMakeParseArguments)
+find_package(Qt5 REQUIRED COMPONENTS Core)
+### Finds where to qmlplugindump binary is installed
+### Requires that 'qmake' directory is in PATH
+function(FindQmlPluginDump)
+ get_target_property (QT_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION)
+ execute_process(
+ COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_BINS
+ OUTPUT_VARIABLE QT_BIN_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ set(QMLPLUGINDUMP_BIN ${QT_BIN_DIR}/qmlplugindump PARENT_SCOPE)
+endfunction()
+
+### Sets QT_INSTALL_QML to the directory where QML Plugins should be installed
+function(FindQtInstallQml)
+ execute_process(
+ COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_QML
+ OUTPUT_VARIABLE PROC_RESULT
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ set(QT_INSTALL_QML ${PROC_RESULT} PARENT_SCOPE)
+endfunction()
+
+function(add_qmlplugin TARGET)
+ set(options NO_AUTORCC NO_AUTOMOC)
+ set(oneValueArgs URI VERSION BINARY_DIR QMLDIR LIBTYPE)
+ set(multiValueArgs SOURCES QMLFILES QMLFILESALIAS)
+ cmake_parse_arguments(QMLPLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ ### At least TARGET, URI and VERSION must be specified
+ if(NOT QMLPLUGIN_URI OR NOT QMLPLUGIN_VERSION OR NOT QMLPLUGIN_QMLDIR OR NOT QMLPLUGIN_LIBTYPE)
+ message(WARNING "TARGET,URI,VERSION,qmldir and LIBTYPE must be set, no files generated")
+ return()
+ endif()
+
+ ### Depending on project hierarchy, one might want to specify a custom binary dir
+ if(NOT QMLPLUGIN_BINARY_DIR)
+ set(QMLPLUGIN_BINARY_DIR ${CMAKE_BINARY_DIR}/${QMLPLUGIN_URI})
+ endif()
+
+ ### Source files
+ add_library(${TARGET} ${QMLPLUGIN_LIBTYPE}
+ ${QMLPLUGIN_SOURCES}
+ )
+ set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/lib)
+ ### QML files, just to make them visible in the editor
+ add_custom_target("${TARGET}-qmlfiles" SOURCES ${QMLPLUGIN_QMLFILES})
+
+ ### No AutoMOC or AutoRCC
+ if(QMLPLUGIN_NO_AUTORCC)
+ set_target_properties(${TARGET} PROPERTIES AUTOMOC OFF)
+ else()
+ set_target_properties(${TARGET} PROPERTIES AUTOMOC ON)
+ endif()
+ if(QMLPLUGIN_NO_AUTOMOC)
+ set_target_properties(${TARGET} PROPERTIES AUTOMOC OFF)
+ else()
+ set_target_properties(${TARGET} PROPERTIES AUTOMOC ON)
+ endif()
+
+ if (${QMLPLUGIN_LIBTYPE} MATCHES "SHARED")
+ ### Find location of qmlplugindump (stored in QMLPLUGINDUMP_BIN)
+ FindQmlPluginDump()
+ ### Find where to install QML Plugins (stored in QT_INSTALL_QML)
+ FindQtInstallQml()
+
+
+ if(QMLPLUGIN_BINARY_DIR)
+ set(MAKE_QMLPLUGINDIR_COMMAND ${CMAKE_COMMAND} -E make_directory ${QMLPLUGIN_BINARY_DIR})
+ endif()
+ set(COPY_QMLDIR_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/${QMLPLUGIN_QMLDIR}/qmldir $/${QMLPLUGIN_URI}/qmldir)
+ set(INSTALL_QMLDIR_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/${QMLPLUGIN_QMLDIR}/qmldir ${QMLPLUGIN_BINARY_DIR}/qmldir)
+ set(COPY_LIBRARY_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$ $/${QMLPLUGIN_URI})
+ set(INSTALL_LIBRARY_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$ ${QMLPLUGIN_BINARY_DIR})
+ if(QMLPLUGIN_QMLDIR)
+ set(COPY_QMLFILES_COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_LIST_DIR}/${QMLPLUGIN_QMLDIR} $/${QMLPLUGIN_URI})
+ else()
+ set(COPY_QMLFILES_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/${QMLPLUGIN_QMLFILES} $/${QMLPLUGIN_URI})
+ endif()
+ set(INSTALL_QMLFILES_COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_LIST_DIR}/${QMLPLUGIN_QMLDIR} ${QMLPLUGIN_BINARY_DIR})
+ set(GENERATE_QMLTYPES_COMMAND ${QMLPLUGINDUMP_BIN} -nonrelocatable ${QMLPLUGIN_URI} ${QMLPLUGIN_VERSION} ${CMAKE_CURRENT_BINARY_DIR} > ${CMAKE_CURRENT_BINARY_DIR}/${QMLPLUGIN_URI}/plugins.qmltypes)
+ set(INSTALL_QMLTYPES_COMMAND ${QMLPLUGINDUMP_BIN} -nonrelocatable ${QMLPLUGIN_URI} ${QMLPLUGIN_VERSION} ${CMAKE_CURRENT_BINARY_DIR} > ${QMLPLUGIN_BINARY_DIR}/plugins.qmltypes)
+ ### Copy qmldir from project source to binary dir
+ if(QMLPLUGIN_BINARY_DIR)
+ add_custom_command(
+ TARGET ${TARGET}
+ POST_BUILD
+ COMMAND ${MAKE_QMLPLUGINDIR_COMMAND}
+ COMMAND ${COPY_QMLDIR_COMMAND}
+ COMMENT "Copying qmldir to binary directory"
+ )
+ else()
+ add_custom_command(
+ TARGET ${TARGET}
+ POST_BUILD
+ COMMAND ${COPY_QMLDIR_COMMAND}
+ COMMENT "Copying qmldir to binary directory"
+ )
+ endif()
+
+ ### Copy lib from binary dir to binary plugin dir
+ add_custom_command(
+ TARGET ${TARGET}
+ POST_BUILD
+ COMMAND ${COPY_LIBRARY_COMMAND}
+ COMMENT "Copying Lib to binary plugin directory"
+ )
+
+ ### Copy QML-files from project source to binary dir
+ if(QMLPLUGIN_QMLFILES)
+ add_custom_command(
+ TARGET ${TARGET}
+ POST_BUILD
+ COMMAND ${COPY_QMLFILES_COMMAND}
+ COMMENT "Copying QML files to binary directory"
+ )
+ endif()
+
+ ### Create command to generate plugin.qmltypes after build
+ add_custom_command(
+ TARGET ${TARGET}
+ POST_BUILD
+ COMMAND ${GENERATE_QMLTYPES_COMMAND}
+ COMMENT "Generating plugin.qmltypes"
+ )
+
+ string(REPLACE "." "/" QMLPLUGIN_INSTALL_URI ${QMLPLUGIN_URI})
+
+ ### Install library
+ add_custom_command(
+ TARGET ${TARGET}
+ POST_BUILD
+ COMMAND ${INSTALL_QMLDIR_COMMAND}
+ COMMAND ${INSTALL_LIBRARY_COMMAND}
+ COMMAND ${INSTALL_QMLFILES_COMMAND}
+ COMMAND ${INSTALL_QMLTYPES_COMMAND}
+ COMMENT "Install library and aditional files"
+ )
+ endif()
+endfunction()
diff --git a/src/fluentui.qrc b/src/fluentui.qrc
new file mode 100644
index 00000000..5ab8e961
--- /dev/null
+++ b/src/fluentui.qrc
@@ -0,0 +1,92 @@
+
+
+ imports/FluentUI/Controls/FluAcrylic.qml
+ imports/FluentUI/Controls/FluAppBar.qml
+ imports/FluentUI/Controls/FluArea.qml
+ imports/FluentUI/Controls/FluAutoSuggestBox.qml
+ imports/FluentUI/Controls/FluBreadcrumbBar.qml
+ imports/FluentUI/Controls/FluButton.qml
+ imports/FluentUI/Controls/FluCalendarPicker.qml
+ imports/FluentUI/Controls/FluCalendarView.qml
+ imports/FluentUI/Controls/FluCheckBox.qml
+ imports/FluentUI/Controls/FluColorPicker.qml
+ imports/FluentUI/Controls/FluColorView.qml
+ imports/FluentUI/Controls/FluComboBox.qml
+ imports/FluentUI/Controls/FluContentPage.qml
+ imports/FluentUI/Controls/FluControl.qml
+ imports/FluentUI/Controls/FluCopyableText.qml
+ imports/FluentUI/Controls/FluDatePicker.qml
+ imports/FluentUI/Controls/FluDropDownButton.qml
+ imports/FluentUI/Controls/FluExpander.qml
+ imports/FluentUI/Controls/FluFilledButton.qml
+ imports/FluentUI/Controls/FluFlipView.qml
+ imports/FluentUI/Controls/FluHorizontalHeaderView.qml
+ imports/FluentUI/Controls/FluIcon.qml
+ imports/FluentUI/Controls/FluIconButton.qml
+ imports/FluentUI/Controls/FluImage.qml
+ imports/FluentUI/Controls/FluItem.qml
+ imports/FluentUI/Controls/FluItemDelegate.qml
+ imports/FluentUI/Controls/FluMenu.qml
+ imports/FluentUI/Controls/FluMenuBar.qml
+ imports/FluentUI/Controls/FluMenuItem.qml
+ imports/FluentUI/Controls/FluMenuSeparator.qml
+ imports/FluentUI/Controls/FluMultilineTextBox.qml
+ imports/FluentUI/Controls/FluNavigationView.qml
+ imports/FluentUI/Controls/FluPage.qml
+ imports/FluentUI/Controls/FluPagination.qml
+ imports/FluentUI/Controls/FluPaneItem.qml
+ imports/FluentUI/Controls/FluPaneItemEmpty.qml
+ imports/FluentUI/Controls/FluPaneItemHeader.qml
+ imports/FluentUI/Controls/FluPaneItemSeparator.qml
+ imports/FluentUI/Controls/FluPasswordBox.qml
+ imports/FluentUI/Controls/FluPivot.qml
+ imports/FluentUI/Controls/FluPopup.qml
+ imports/FluentUI/Controls/FluProgressBar.qml
+ imports/FluentUI/Controls/FluProgressRing.qml
+ imports/FluentUI/Controls/FluRadioButton.qml
+ imports/FluentUI/Controls/FluRatingControl.qml
+ imports/FluentUI/Controls/FluRectangle.qml
+ imports/FluentUI/Controls/FluRemoteLoader.qml
+ imports/FluentUI/Controls/FluScrollablePage.qml
+ imports/FluentUI/Controls/FluScrollIndicator.qml
+ imports/FluentUI/Controls/FluShadow.qml
+ imports/FluentUI/Controls/FluSlider.qml
+ imports/FluentUI/Controls/FluSpinBox.qml
+ imports/FluentUI/Controls/FluTableModelColumn.qml
+ imports/FluentUI/Controls/FluTableView.qml
+ imports/FluentUI/Controls/FluTabView.qml
+ imports/FluentUI/Controls/FluText.qml
+ imports/FluentUI/Controls/FluTextBoxBackground.qml
+ imports/FluentUI/Controls/FluTextBoxMenu.qml
+ imports/FluentUI/Controls/FluTextButton.qml
+ imports/FluentUI/Controls/FluTimePicker.qml
+ imports/FluentUI/Controls/FluToggleSwitch.qml
+ imports/FluentUI/Controls/FluTooltip.qml
+ imports/FluentUI/Controls/FluTreeView.qml
+ imports/FluentUI/Controls/FluVerticalHeaderView.qml
+ imports/FluentUI/Controls/FluBadge.qml
+ imports/FluentUI/Controls/FluCarousel.qml
+ imports/FluentUI/Controls/FluContentDialog.qml
+ imports/FluentUI/Controls/FluDivider.qml
+ imports/FluentUI/Controls/FluFocusRectangle.qml
+ imports/FluentUI/Controls/FluInfoBar.qml
+ imports/FluentUI/Controls/FluMenuBarItem.qml
+ imports/FluentUI/Controls/FluObject.qml
+ imports/FluentUI/Controls/FluPaneItemExpander.qml
+ imports/FluentUI/Controls/FluPivotItem.qml
+ imports/FluentUI/Controls/FluRadioButtons.qml
+ imports/FluentUI/Controls/FluScrollBar.qml
+ imports/FluentUI/Controls/FluStatusView.qml
+ imports/FluentUI/Controls/FluTextBox.qml
+ imports/FluentUI/Controls/FluToggleButton.qml
+ imports/FluentUI/Controls/FluWindow.qml
+ imports/FluentUI/Controls/ColorPicker/ColorPicker.qml
+ imports/FluentUI/Controls/ColorPicker/Content/Checkerboard.qml
+ imports/FluentUI/Controls/ColorPicker/Content/ColorSlider.qml
+ imports/FluentUI/Controls/ColorPicker/Content/NumberBox.qml
+ imports/FluentUI/Controls/ColorPicker/Content/PanelBorder.qml
+ imports/FluentUI/Controls/ColorPicker/Content/SBPicker.qml
+ imports/FluentUI/Font/Segoe_Fluent_Icons.ttf
+ imports/FluentUI/qmldir
+
+
diff --git a/src/fluentuiplugin.cpp b/src/fluentuiplugin.cpp
new file mode 100644
index 00000000..d6a91487
--- /dev/null
+++ b/src/fluentuiplugin.cpp
@@ -0,0 +1,62 @@
+#include "fluentuiplugin.h"
+#include
+#include
+#include
+#include "WindowHelper.h"
+#include "Def.h"
+#include "FluApp.h"
+#include "FluColors.h"
+#include "FluTheme.h"
+#include "FluTools.h"
+#include "FluTextStyle.h"
+int major = 1;
+int minor = 0;
+static FluentUIPlugin instance;
+
+FluentUIPlugin::FluentUIPlugin()
+{
+#ifdef FLUENTUI_BUILD_STATIC_LIB
+ Q_INIT_RESOURCE(fluentui);
+#endif
+}
+
+void FluentUIPlugin::registerTypes(const char *uri)
+{
+ qmlRegisterType(uri,major,minor,"WindowHelper");
+ qmlRegisterType(uri,major,minor,"FluColorSet");
+ qmlRegisterUncreatableMetaObject(Fluent_Awesome::staticMetaObject, uri,major,minor,"FluentIcons", "Access to enums & flags only");
+ qmlRegisterUncreatableMetaObject(Fluent_DarkMode::staticMetaObject, uri,major,minor,"FluDarkMode", "Access to enums & flags only");
+}
+
+#ifdef FLUENTUI_BUILD_STATIC_LIB
+void FluentUIPlugin::registerTypes()
+{
+ instance()->registerTypes("FluentUI");
+}
+
+FluentUIPlugin* FluentUIPlugin::instance()
+{
+ static FluentUIPlugin instance;
+ return &instance;
+}
+#endif
+void FluentUIPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
+{
+ Q_UNUSED(uri)
+#ifdef Q_OS_WIN
+ QFont font;
+ font.setFamily("Microsoft YaHei");
+ QGuiApplication::setFont(font);
+#endif
+ FluApp* app = FluApp::getInstance();
+ engine->rootContext()->setContextProperty("FluApp",app);
+ FluColors* colors = FluColors::getInstance();
+ engine->rootContext()->setContextProperty("FluColors",colors);
+ FluTheme* theme = FluTheme::getInstance();
+ engine->rootContext()->setContextProperty("FluTheme",theme);
+ FluTools* tools = FluTools::getInstance();
+ engine->rootContext()->setContextProperty("FluTools",tools);
+ FluTextStyle* textStyle = FluTextStyle::getInstance();
+ engine->rootContext()->setContextProperty("FluTextStyle",textStyle);
+ engine->addImportPath("qrc:/FluentUI/imports/");
+}
diff --git a/src/fluentuiplugin.h b/src/fluentuiplugin.h
new file mode 100644
index 00000000..c03c0248
--- /dev/null
+++ b/src/fluentuiplugin.h
@@ -0,0 +1,23 @@
+#ifndef FLUENTUIPLUGIN_H
+#define FLUENTUIPLUGIN_H
+
+#include
+
+
+
+class FluentUIPlugin : public QQmlExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
+
+public:
+ FluentUIPlugin();
+ void registerTypes(const char *uri) Q_DECL_OVERRIDE;
+#ifdef FLUENTUI_BUILD_STATIC_LIB
+ static void registerTypes();
+ static FluentUIPlugin* instance();
+#endif
+ void initializeEngine(QQmlEngine *engine, const char *uri) Q_DECL_OVERRIDE;
+};
+
+#endif // FLUENTUIPLUGIN_H
diff --git a/src/imports/FluentUI/Controls/ColorPicker/ColorPicker.qml b/src/imports/FluentUI/Controls/ColorPicker/ColorPicker.qml
index 737776c8..cb43e531 100644
--- a/src/imports/FluentUI/Controls/ColorPicker/ColorPicker.qml
+++ b/src/imports/FluentUI/Controls/ColorPicker/ColorPicker.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
import "Content"
Rectangle {
diff --git a/src/imports/FluentUI/Controls/ColorPicker/Content/Checkerboard.qml b/src/imports/FluentUI/Controls/ColorPicker/Content/Checkerboard.qml
index 6d2089b0..2801a2a2 100644
--- a/src/imports/FluentUI/Controls/ColorPicker/Content/Checkerboard.qml
+++ b/src/imports/FluentUI/Controls/ColorPicker/Content/Checkerboard.qml
@@ -1,4 +1,5 @@
-import QtQuick
+import QtQuick 2.15
+
Grid {
id: root
property int cellSide: 5
diff --git a/src/imports/FluentUI/Controls/ColorPicker/Content/ColorSlider.qml b/src/imports/FluentUI/Controls/ColorPicker/Content/ColorSlider.qml
index 8eb976b7..55157ae5 100644
--- a/src/imports/FluentUI/Controls/ColorPicker/Content/ColorSlider.qml
+++ b/src/imports/FluentUI/Controls/ColorPicker/Content/ColorSlider.qml
@@ -1,4 +1,4 @@
-import QtQuick
+import QtQuick 2.15
Item {
property int cursorHeight: 7
diff --git a/src/imports/FluentUI/Controls/ColorPicker/Content/NumberBox.qml b/src/imports/FluentUI/Controls/ColorPicker/Content/NumberBox.qml
index 1fb93b95..f4afb9db 100644
--- a/src/imports/FluentUI/Controls/ColorPicker/Content/NumberBox.qml
+++ b/src/imports/FluentUI/Controls/ColorPicker/Content/NumberBox.qml
@@ -1,4 +1,4 @@
-import QtQuick
+import QtQuick 2.15
Row {
property alias caption: captionBox.text
diff --git a/src/imports/FluentUI/Controls/ColorPicker/Content/PanelBorder.qml b/src/imports/FluentUI/Controls/ColorPicker/Content/PanelBorder.qml
index 88a5a369..67de5b5c 100644
--- a/src/imports/FluentUI/Controls/ColorPicker/Content/PanelBorder.qml
+++ b/src/imports/FluentUI/Controls/ColorPicker/Content/PanelBorder.qml
@@ -1,4 +1,4 @@
-import QtQuick
+import QtQuick 2.15
Rectangle {
width : 40; height : 15; radius: 2
diff --git a/src/imports/FluentUI/Controls/ColorPicker/Content/SBPicker.qml b/src/imports/FluentUI/Controls/ColorPicker/Content/SBPicker.qml
index 92ee79a9..dfe31b52 100644
--- a/src/imports/FluentUI/Controls/ColorPicker/Content/SBPicker.qml
+++ b/src/imports/FluentUI/Controls/ColorPicker/Content/SBPicker.qml
@@ -1,4 +1,4 @@
-import QtQuick
+import QtQuick 2.15
Item {
id: root
diff --git a/src/imports/FluentUI/Controls/FluAcrylic.qml b/src/imports/FluentUI/Controls/FluAcrylic.qml
index ff8f79ee..559eaea9 100644
--- a/src/imports/FluentUI/Controls/FluAcrylic.qml
+++ b/src/imports/FluentUI/Controls/FluAcrylic.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import Qt5Compat.GraphicalEffects
-import FluentUI
+import QtQuick 2.15
+import QtGraphicalEffects 1.0
+import FluentUI 1.0
Item {
id: control
diff --git a/src/imports/FluentUI/Controls/FluAppBar.qml b/src/imports/FluentUI/Controls/FluAppBar.qml
index 25280f2d..cb313133 100644
--- a/src/imports/FluentUI/Controls/FluAppBar.qml
+++ b/src/imports/FluentUI/Controls/FluAppBar.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Window
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Rectangle{
property string title: ""
diff --git a/src/imports/FluentUI/Controls/FluArea.qml b/src/imports/FluentUI/Controls/FluArea.qml
index 99a35b39..3c826d39 100644
--- a/src/imports/FluentUI/Controls/FluArea.qml
+++ b/src/imports/FluentUI/Controls/FluArea.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Rectangle {
default property alias content: container.data
diff --git a/src/imports/FluentUI/Controls/FluAutoSuggestBox.qml b/src/imports/FluentUI/Controls/FluAutoSuggestBox.qml
index 0b19c469..e89f624c 100644
--- a/src/imports/FluentUI/Controls/FluAutoSuggestBox.qml
+++ b/src/imports/FluentUI/Controls/FluAutoSuggestBox.qml
@@ -1,6 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
FluTextBox{
property var items:[]
diff --git a/src/imports/FluentUI/Controls/FluBadge.qml b/src/imports/FluentUI/Controls/FluBadge.qml
index 6b57c28b..65d17f14 100644
--- a/src/imports/FluentUI/Controls/FluBadge.qml
+++ b/src/imports/FluentUI/Controls/FluBadge.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Rectangle{
property bool isDot: false
diff --git a/src/imports/FluentUI/Controls/FluBreadcrumbBar.qml b/src/imports/FluentUI/Controls/FluBreadcrumbBar.qml
index 1527af06..fba338ff 100644
--- a/src/imports/FluentUI/Controls/FluBreadcrumbBar.qml
+++ b/src/imports/FluentUI/Controls/FluBreadcrumbBar.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Item {
property int textSize: 15
diff --git a/src/imports/FluentUI/Controls/FluButton.qml b/src/imports/FluentUI/Controls/FluButton.qml
index 451ad964..c946d0cd 100644
--- a/src/imports/FluentUI/Controls/FluButton.qml
+++ b/src/imports/FluentUI/Controls/FluButton.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Button {
property bool disabled: false
diff --git a/src/imports/FluentUI/Controls/FluCalendarPicker.qml b/src/imports/FluentUI/Controls/FluCalendarPicker.qml
index 02bf1250..dec17c00 100644
--- a/src/imports/FluentUI/Controls/FluCalendarPicker.qml
+++ b/src/imports/FluentUI/Controls/FluCalendarPicker.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Rectangle {
property color dividerColor: FluTheme.dark ? Qt.rgba(77/255,77/255,77/255,1) : Qt.rgba(239/255,239/255,239/255,1)
diff --git a/src/imports/FluentUI/Controls/FluCalendarView.qml b/src/imports/FluentUI/Controls/FluCalendarView.qml
index b8591c77..c2db7480 100644
--- a/src/imports/FluentUI/Controls/FluCalendarView.qml
+++ b/src/imports/FluentUI/Controls/FluCalendarView.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Item {
enum DisplayMode {
diff --git a/src/imports/FluentUI/Controls/FluCarousel.qml b/src/imports/FluentUI/Controls/FluCarousel.qml
index d6ce01ae..965fa009 100644
--- a/src/imports/FluentUI/Controls/FluCarousel.qml
+++ b/src/imports/FluentUI/Controls/FluCarousel.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Item {
property bool flagXChanged: true
diff --git a/src/imports/FluentUI/Controls/FluCheckBox.qml b/src/imports/FluentUI/Controls/FluCheckBox.qml
index 13513eba..16999db5 100644
--- a/src/imports/FluentUI/Controls/FluCheckBox.qml
+++ b/src/imports/FluentUI/Controls/FluCheckBox.qml
@@ -1,8 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Button {
property bool disabled: false
@@ -26,6 +25,11 @@ Button {
property var clickListener : function(){
checked = !checked
}
+ onCheckableChanged: {
+ if(checkable){
+ checkable = false
+ }
+ }
id:control
enabled: !disabled
onClicked: clickListener()
diff --git a/src/imports/FluentUI/Controls/FluColorPicker.qml b/src/imports/FluentUI/Controls/FluColorPicker.qml
index e18f92fd..ede90815 100644
--- a/src/imports/FluentUI/Controls/FluColorPicker.qml
+++ b/src/imports/FluentUI/Controls/FluColorPicker.qml
@@ -1,9 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Button{
id:control
diff --git a/src/imports/FluentUI/Controls/FluColorView.qml b/src/imports/FluentUI/Controls/FluColorView.qml
index daa45030..d3b023c2 100644
--- a/src/imports/FluentUI/Controls/FluColorView.qml
+++ b/src/imports/FluentUI/Controls/FluColorView.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
import "ColorPicker"
Item {
diff --git a/src/imports/FluentUI/Controls/FluComboBox.qml b/src/imports/FluentUI/Controls/FluComboBox.qml
index b85f4560..bee216c4 100644
--- a/src/imports/FluentUI/Controls/FluComboBox.qml
+++ b/src/imports/FluentUI/Controls/FluComboBox.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
-import QtQuick.Templates as T
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
+import QtQuick.Templates 2.15 as T
ComboBox {
id: control
@@ -44,7 +44,7 @@ ComboBox {
topPadding: 6 - control.padding
bottomPadding: 6 - control.padding
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
- selectionColor: Qt.alpha(FluTheme.primaryColor.lightest,0.6)
+ selectionColor: FluTheme.primaryColor.lightest
selectedTextColor: color
text: control.editable ? control.editText : control.displayText
enabled: control.editable
diff --git a/src/imports/FluentUI/Controls/FluContentDialog.qml b/src/imports/FluentUI/Controls/FluContentDialog.qml
index 384bdb6d..b80e4a94 100644
--- a/src/imports/FluentUI/Controls/FluContentDialog.qml
+++ b/src/imports/FluentUI/Controls/FluContentDialog.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
FluPopup {
id: popup
diff --git a/src/imports/FluentUI/Controls/FluContentPage.qml b/src/imports/FluentUI/Controls/FluContentPage.qml
index 6cbe771b..15788756 100644
--- a/src/imports/FluentUI/Controls/FluContentPage.qml
+++ b/src/imports/FluentUI/Controls/FluContentPage.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
FluPage {
property alias title: text_title.text
diff --git a/src/imports/FluentUI/Controls/FluControl.qml b/src/imports/FluentUI/Controls/FluControl.qml
index 50f672e4..31291792 100644
--- a/src/imports/FluentUI/Controls/FluControl.qml
+++ b/src/imports/FluentUI/Controls/FluControl.qml
@@ -1,7 +1,8 @@
-import QtQuick
-import QtQuick.Controls.impl
-import FluentUI
-import QtQuick.Templates as T
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
+import QtQuick.Templates 2.15 as T
T.Button {
id: control
diff --git a/src/imports/FluentUI/Controls/FluCopyableText.qml b/src/imports/FluentUI/Controls/FluCopyableText.qml
index 215683bf..a2103e7c 100644
--- a/src/imports/FluentUI/Controls/FluCopyableText.qml
+++ b/src/imports/FluentUI/Controls/FluCopyableText.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
TextEdit {
property color textColor: FluTheme.dark ? FluColors.White : FluColors.Grey220
@@ -17,7 +17,7 @@ TextEdit {
selectByMouse: true
selectedTextColor: color
bottomPadding: 0
- selectionColor: Qt.alpha(FluTheme.primaryColor.lightest,0.6)
+ selectionColor: FluTheme.primaryColor.lightest
font:FluTextStyle.Body
onSelectedTextChanged: {
control.forceActiveFocus()
diff --git a/src/imports/FluentUI/Controls/FluDatePicker.qml b/src/imports/FluentUI/Controls/FluDatePicker.qml
index 2a572023..d17e12ed 100644
--- a/src/imports/FluentUI/Controls/FluDatePicker.qml
+++ b/src/imports/FluentUI/Controls/FluDatePicker.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Rectangle {
property color dividerColor: FluTheme.dark ? Qt.rgba(77/255,77/255,77/255,1) : Qt.rgba(239/255,239/255,239/255,1)
diff --git a/src/imports/FluentUI/Controls/FluDivider.qml b/src/imports/FluentUI/Controls/FluDivider.qml
index 9e0991f3..68c80c80 100644
--- a/src/imports/FluentUI/Controls/FluDivider.qml
+++ b/src/imports/FluentUI/Controls/FluDivider.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Rectangle {
color: FluTheme.dark ? Qt.rgba(60/255,60/255,60/255,1) : Qt.rgba(210/255,210/255,210/255,1)
diff --git a/src/imports/FluentUI/Controls/FluDropDownButton.qml b/src/imports/FluentUI/Controls/FluDropDownButton.qml
index 50b8fb94..4ee40bc2 100644
--- a/src/imports/FluentUI/Controls/FluDropDownButton.qml
+++ b/src/imports/FluentUI/Controls/FluDropDownButton.qml
@@ -1,8 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Button {
property bool disabled: false
diff --git a/src/imports/FluentUI/Controls/FluExpander.qml b/src/imports/FluentUI/Controls/FluExpander.qml
index 3c165514..d36b81e2 100644
--- a/src/imports/FluentUI/Controls/FluExpander.qml
+++ b/src/imports/FluentUI/Controls/FluExpander.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Item {
property string headerText: "Titlte"
diff --git a/src/imports/FluentUI/Controls/FluFilledButton.qml b/src/imports/FluentUI/Controls/FluFilledButton.qml
index 1ac2a787..3584e089 100644
--- a/src/imports/FluentUI/Controls/FluFilledButton.qml
+++ b/src/imports/FluentUI/Controls/FluFilledButton.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Button {
property bool disabled: false
diff --git a/src/imports/FluentUI/Controls/FluFlipView.qml b/src/imports/FluentUI/Controls/FluFlipView.qml
index 1f3012a8..a8545f2f 100644
--- a/src/imports/FluentUI/Controls/FluFlipView.qml
+++ b/src/imports/FluentUI/Controls/FluFlipView.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Item{
property bool vertical: false
diff --git a/src/imports/FluentUI/Controls/FluFocusRectangle.qml b/src/imports/FluentUI/Controls/FluFocusRectangle.qml
index 5c6c9596..82dc6903 100644
--- a/src/imports/FluentUI/Controls/FluFocusRectangle.qml
+++ b/src/imports/FluentUI/Controls/FluFocusRectangle.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Item {
property int radius: 4
diff --git a/src/imports/FluentUI/Controls/FluHorizontalHeaderView.qml b/src/imports/FluentUI/Controls/FluHorizontalHeaderView.qml
index 90369ebf..26f304da 100644
--- a/src/imports/FluentUI/Controls/FluHorizontalHeaderView.qml
+++ b/src/imports/FluentUI/Controls/FluHorizontalHeaderView.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Templates as T
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Templates 2.15 as T
+import FluentUI 1.0
T.HorizontalHeaderView {
id: control
diff --git a/src/imports/FluentUI/Controls/FluIcon.qml b/src/imports/FluentUI/Controls/FluIcon.qml
index cade7301..8303c131 100644
--- a/src/imports/FluentUI/Controls/FluIcon.qml
+++ b/src/imports/FluentUI/Controls/FluIcon.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Text {
property int iconSource
diff --git a/src/imports/FluentUI/Controls/FluIconButton.qml b/src/imports/FluentUI/Controls/FluIconButton.qml
index 7214313b..1a2a9f67 100644
--- a/src/imports/FluentUI/Controls/FluIconButton.qml
+++ b/src/imports/FluentUI/Controls/FluIconButton.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Button {
property int iconSize: 20
diff --git a/src/imports/FluentUI/Controls/FluImage.qml b/src/imports/FluentUI/Controls/FluImage.qml
index 79b83376..78b02f47 100644
--- a/src/imports/FluentUI/Controls/FluImage.qml
+++ b/src/imports/FluentUI/Controls/FluImage.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Image {
property string errorButtonText: "重新加载"
diff --git a/src/imports/FluentUI/Controls/FluInfoBar.qml b/src/imports/FluentUI/Controls/FluInfoBar.qml
index f662a62a..b537cbf9 100644
--- a/src/imports/FluentUI/Controls/FluInfoBar.qml
+++ b/src/imports/FluentUI/Controls/FluInfoBar.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
FluObject {
property var root;
@@ -95,7 +95,7 @@ FluObject {
Behavior on scale {
enabled: FluTheme.enableAnimation
NumberAnimation {
- easing.type: Easing.OutCubic
+ easing.type: Easing.OutCubic;
duration: 167
}
}
diff --git a/src/imports/FluentUI/Controls/FluItem.qml b/src/imports/FluentUI/Controls/FluItem.qml
index 7fc12d8b..064e1625 100644
--- a/src/imports/FluentUI/Controls/FluItem.qml
+++ b/src/imports/FluentUI/Controls/FluItem.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import Qt5Compat.GraphicalEffects
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtGraphicalEffects 1.0
Item{
property var radius:[0,0,0,0]
diff --git a/src/imports/FluentUI/Controls/FluItemDelegate.qml b/src/imports/FluentUI/Controls/FluItemDelegate.qml
index 7536d2df..9d907ea6 100644
--- a/src/imports/FluentUI/Controls/FluItemDelegate.qml
+++ b/src/imports/FluentUI/Controls/FluItemDelegate.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls.Basic
-import QtQuick.Templates as T
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Templates 2.15 as T
+import FluentUI 1.0
T.ItemDelegate {
id: control
diff --git a/src/imports/FluentUI/Controls/FluMenu.qml b/src/imports/FluentUI/Controls/FluMenu.qml
index 5090f3ac..ffe6964c 100644
--- a/src/imports/FluentUI/Controls/FluMenu.qml
+++ b/src/imports/FluentUI/Controls/FluMenu.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Templates as T
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Templates 2.15 as T
+import FluentUI 1.0
T.Menu {
property bool enableAnimation: true
diff --git a/src/imports/FluentUI/Controls/FluMenuBar.qml b/src/imports/FluentUI/Controls/FluMenuBar.qml
index 9c76ec42..f3d42d1c 100644
--- a/src/imports/FluentUI/Controls/FluMenuBar.qml
+++ b/src/imports/FluentUI/Controls/FluMenuBar.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Templates as T
-import QtQuick.Controls.impl
+import QtQuick 2.15
+import QtQuick.Templates 2.15 as T
+import QtQuick.Controls 2.15
T.MenuBar {
id: control
diff --git a/src/imports/FluentUI/Controls/FluMenuBarItem.qml b/src/imports/FluentUI/Controls/FluMenuBarItem.qml
index 4dc5b79b..985d8140 100644
--- a/src/imports/FluentUI/Controls/FluMenuBarItem.qml
+++ b/src/imports/FluentUI/Controls/FluMenuBarItem.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Templates as T
-import QtQuick.Controls.impl
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Templates 2.15 as T
+import QtQuick.Controls 2.15
+import FluentUI 1.0
T.MenuBarItem {
property bool disabled: false
diff --git a/src/imports/FluentUI/Controls/FluMenuItem.qml b/src/imports/FluentUI/Controls/FluMenuItem.qml
index 54b3e882..e454bdd2 100644
--- a/src/imports/FluentUI/Controls/FluMenuItem.qml
+++ b/src/imports/FluentUI/Controls/FluMenuItem.qml
@@ -1,8 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.impl
-import QtQuick.Templates as T
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Templates 2.15 as T
+import FluentUI 1.0
T.MenuItem {
property color textColor: {
diff --git a/src/imports/FluentUI/Controls/FluMenuSeparator.qml b/src/imports/FluentUI/Controls/FluMenuSeparator.qml
index a687e30a..7cc54c74 100644
--- a/src/imports/FluentUI/Controls/FluMenuSeparator.qml
+++ b/src/imports/FluentUI/Controls/FluMenuSeparator.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls.impl
-import QtQuick.Templates as T
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Templates 2.15 as T
+import FluentUI 1.0
T.MenuSeparator {
id: control
diff --git a/src/imports/FluentUI/Controls/FluMultilineTextBox.qml b/src/imports/FluentUI/Controls/FluMultilineTextBox.qml
index 1f535af6..dd140437 100644
--- a/src/imports/FluentUI/Controls/FluMultilineTextBox.qml
+++ b/src/imports/FluentUI/Controls/FluMultilineTextBox.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
TextArea{
signal commit
@@ -26,7 +25,7 @@ TextArea{
leftPadding: padding+2
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
selectedTextColor: color
- selectionColor: Qt.alpha(FluTheme.primaryColor.lightest,0.6)
+ selectionColor: FluTheme.primaryColor.lightest
placeholderTextColor: {
if(!enabled){
return placeholderDisableColor
diff --git a/src/imports/FluentUI/Controls/FluNavigationView.qml b/src/imports/FluentUI/Controls/FluNavigationView.qml
index c651ad1f..7d549e70 100644
--- a/src/imports/FluentUI/Controls/FluNavigationView.qml
+++ b/src/imports/FluentUI/Controls/FluNavigationView.qml
@@ -1,9 +1,8 @@
-import QtQuick
-import QtQuick.Window
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Item {
enum DisplayMode {
@@ -636,7 +635,12 @@ Item {
id:nav_stack2
anchors.fill: nav_stack
clip: true
- visible: nav_stack.currentItem?.launchMode === FluPage.SingleInstance
+ visible: {
+ if( nav_stack.currentItem){
+ return nav_stack.currentItem.launchMode === FluPage.SingleInstance
+ }
+ return false
+ }
}
function navStack(){
return nav_stack
@@ -785,7 +789,6 @@ Item {
}
boundsBehavior: ListView.StopAtBounds
clip: true
- maximumFlickVelocity: 1680
contentHeight: nav_list.contentHeight
ScrollBar.vertical: FluScrollBar {}
ListView{
diff --git a/src/imports/FluentUI/Controls/FluObject.qml b/src/imports/FluentUI/Controls/FluObject.qml
index 51c95054..f54ac87a 100644
--- a/src/imports/FluentUI/Controls/FluObject.qml
+++ b/src/imports/FluentUI/Controls/FluObject.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
QtObject {
default property list children
diff --git a/src/imports/FluentUI/Controls/FluPage.qml b/src/imports/FluentUI/Controls/FluPage.qml
index 5f3312e0..3700be18 100644
--- a/src/imports/FluentUI/Controls/FluPage.qml
+++ b/src/imports/FluentUI/Controls/FluPage.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Item {
enum LaunchMode{
diff --git a/src/imports/FluentUI/Controls/FluPagination.qml b/src/imports/FluentUI/Controls/FluPagination.qml
index 188b0932..b7391ee6 100644
--- a/src/imports/FluentUI/Controls/FluPagination.qml
+++ b/src/imports/FluentUI/Controls/FluPagination.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Item {
signal requestPage(int page,int count)
diff --git a/src/imports/FluentUI/Controls/FluPaneItem.qml b/src/imports/FluentUI/Controls/FluPaneItem.qml
index e30ccb5d..fe5390fb 100644
--- a/src/imports/FluentUI/Controls/FluPaneItem.qml
+++ b/src/imports/FluentUI/Controls/FluPaneItem.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
QtObject {
readonly property string key : FluTools.uuid()
diff --git a/src/imports/FluentUI/Controls/FluPaneItemEmpty.qml b/src/imports/FluentUI/Controls/FluPaneItemEmpty.qml
index 04a1a44b..92bb64c6 100644
--- a/src/imports/FluentUI/Controls/FluPaneItemEmpty.qml
+++ b/src/imports/FluentUI/Controls/FluPaneItemEmpty.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
QtObject {
readonly property string key : FluTools.uuid()
diff --git a/src/imports/FluentUI/Controls/FluPaneItemExpander.qml b/src/imports/FluentUI/Controls/FluPaneItemExpander.qml
index 4bc6a717..5755974b 100644
--- a/src/imports/FluentUI/Controls/FluPaneItemExpander.qml
+++ b/src/imports/FluentUI/Controls/FluPaneItemExpander.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
FluObject {
readonly property string key : FluTools.uuid()
diff --git a/src/imports/FluentUI/Controls/FluPaneItemHeader.qml b/src/imports/FluentUI/Controls/FluPaneItemHeader.qml
index 7eb981d7..2591cf18 100644
--- a/src/imports/FluentUI/Controls/FluPaneItemHeader.qml
+++ b/src/imports/FluentUI/Controls/FluPaneItemHeader.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
QtObject {
readonly property string key : FluTools.uuid()
diff --git a/src/imports/FluentUI/Controls/FluPaneItemSeparator.qml b/src/imports/FluentUI/Controls/FluPaneItemSeparator.qml
index 0ebc9471..d2366f6c 100644
--- a/src/imports/FluentUI/Controls/FluPaneItemSeparator.qml
+++ b/src/imports/FluentUI/Controls/FluPaneItemSeparator.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
QtObject {
readonly property string key : FluTools.uuid()
diff --git a/src/imports/FluentUI/Controls/FluPasswordBox.qml b/src/imports/FluentUI/Controls/FluPasswordBox.qml
index e6d8a93b..d9ab576a 100644
--- a/src/imports/FluentUI/Controls/FluPasswordBox.qml
+++ b/src/imports/FluentUI/Controls/FluPasswordBox.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
TextField{
signal commit
@@ -26,7 +25,7 @@ TextField{
leftPadding: padding+2
echoMode:btn_reveal.pressed ? TextField.Normal : TextField.Password
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
- selectionColor: Qt.alpha(FluTheme.primaryColor.lightest,0.6)
+ selectionColor: FluTheme.primaryColor.lightest
selectedTextColor: color
placeholderTextColor: {
if(!enabled){
diff --git a/src/imports/FluentUI/Controls/FluPivot.qml b/src/imports/FluentUI/Controls/FluPivot.qml
index c5671aa7..8ddbc7dc 100644
--- a/src/imports/FluentUI/Controls/FluPivot.qml
+++ b/src/imports/FluentUI/Controls/FluPivot.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Item {
default property alias content: d.children
diff --git a/src/imports/FluentUI/Controls/FluPivotItem.qml b/src/imports/FluentUI/Controls/FluPivotItem.qml
index b241dc44..4181d29c 100644
--- a/src/imports/FluentUI/Controls/FluPivotItem.qml
+++ b/src/imports/FluentUI/Controls/FluPivotItem.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
QtObject {
property string title
diff --git a/src/imports/FluentUI/Controls/FluPopup.qml b/src/imports/FluentUI/Controls/FluPopup.qml
index 8c802fc3..061853f7 100644
--- a/src/imports/FluentUI/Controls/FluPopup.qml
+++ b/src/imports/FluentUI/Controls/FluPopup.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Popup {
id: popup
diff --git a/src/imports/FluentUI/Controls/FluProgressBar.qml b/src/imports/FluentUI/Controls/FluProgressBar.qml
index 2a45c091..e3e89f5d 100644
--- a/src/imports/FluentUI/Controls/FluProgressBar.qml
+++ b/src/imports/FluentUI/Controls/FluProgressBar.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Item{
diff --git a/src/imports/FluentUI/Controls/FluProgressRing.qml b/src/imports/FluentUI/Controls/FluProgressRing.qml
index 5eec679c..b0600bd0 100644
--- a/src/imports/FluentUI/Controls/FluProgressRing.qml
+++ b/src/imports/FluentUI/Controls/FluProgressRing.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Rectangle {
property real linWidth : 5
diff --git a/src/imports/FluentUI/Controls/FluRadioButton.qml b/src/imports/FluentUI/Controls/FluRadioButton.qml
index 2e96ad29..01e57f76 100644
--- a/src/imports/FluentUI/Controls/FluRadioButton.qml
+++ b/src/imports/FluentUI/Controls/FluRadioButton.qml
@@ -1,8 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Button {
property string contentDescription: ""
@@ -19,6 +18,11 @@ Button {
property var clickListener : function(){
checked = !checked
}
+ onCheckableChanged: {
+ if(checkable){
+ checkable = false
+ }
+ }
Accessible.role: Accessible.Button
Accessible.name: control.text
Accessible.description: contentDescription
diff --git a/src/imports/FluentUI/Controls/FluRadioButtons.qml b/src/imports/FluentUI/Controls/FluRadioButtons.qml
index 9a5e908b..84b41a5b 100644
--- a/src/imports/FluentUI/Controls/FluRadioButtons.qml
+++ b/src/imports/FluentUI/Controls/FluRadioButtons.qml
@@ -1,8 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
ColumnLayout {
default property alias buttons: control.data
diff --git a/src/imports/FluentUI/Controls/FluRatingControl.qml b/src/imports/FluentUI/Controls/FluRatingControl.qml
index fdfcd859..3ad13411 100644
--- a/src/imports/FluentUI/Controls/FluRatingControl.qml
+++ b/src/imports/FluentUI/Controls/FluRatingControl.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Item {
property int number: 5
diff --git a/src/imports/FluentUI/Controls/FluRectangle.qml b/src/imports/FluentUI/Controls/FluRectangle.qml
index e0450778..00c4b100 100644
--- a/src/imports/FluentUI/Controls/FluRectangle.qml
+++ b/src/imports/FluentUI/Controls/FluRectangle.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import Qt5Compat.GraphicalEffects
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtGraphicalEffects 1.0
+import FluentUI 1.0
Item{
property var radius:[0,0,0,0]
diff --git a/src/imports/FluentUI/Controls/FluRemoteLoader.qml b/src/imports/FluentUI/Controls/FluRemoteLoader.qml
index 759d78f7..0e298dcb 100644
--- a/src/imports/FluentUI/Controls/FluRemoteLoader.qml
+++ b/src/imports/FluentUI/Controls/FluRemoteLoader.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
FluStatusView {
property url source: ""
diff --git a/src/imports/FluentUI/Controls/FluScrollBar.qml b/src/imports/FluentUI/Controls/FluScrollBar.qml
index 1c088693..92766a32 100644
--- a/src/imports/FluentUI/Controls/FluScrollBar.qml
+++ b/src/imports/FluentUI/Controls/FluScrollBar.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls.impl
-import QtQuick.Templates as T
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Templates 2.15 as T
+import FluentUI 1.0
T.ScrollBar {
id: control
diff --git a/src/imports/FluentUI/Controls/FluScrollIndicator.qml b/src/imports/FluentUI/Controls/FluScrollIndicator.qml
index 3e4b1685..13e1dcb3 100644
--- a/src/imports/FluentUI/Controls/FluScrollIndicator.qml
+++ b/src/imports/FluentUI/Controls/FluScrollIndicator.qml
@@ -1,6 +1,5 @@
-import QtQuick
-import QtQuick.Controls.impl
-import QtQuick.Templates as T
+import QtQuick 2.15
+import QtQuick.Templates 2.15 as T
T.ScrollIndicator {
id: control
diff --git a/src/imports/FluentUI/Controls/FluScrollablePage.qml b/src/imports/FluentUI/Controls/FluScrollablePage.qml
index 8a4bbd8c..25c4086f 100644
--- a/src/imports/FluentUI/Controls/FluScrollablePage.qml
+++ b/src/imports/FluentUI/Controls/FluScrollablePage.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Window
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
FluPage {
property alias title: text_title.text
@@ -38,7 +38,6 @@ FluPage {
bottom: parent.bottom
bottomMargin: control.bottomPadding
}
- maximumFlickVelocity: 1680
contentWidth: parent.width
contentHeight: container.height
ScrollBar.vertical: FluScrollBar {
diff --git a/src/imports/FluentUI/Controls/FluShadow.qml b/src/imports/FluentUI/Controls/FluShadow.qml
index 280ed107..38f4be88 100644
--- a/src/imports/FluentUI/Controls/FluShadow.qml
+++ b/src/imports/FluentUI/Controls/FluShadow.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Item {
diff --git a/src/imports/FluentUI/Controls/FluSlider.qml b/src/imports/FluentUI/Controls/FluSlider.qml
index cd77769e..504b809d 100644
--- a/src/imports/FluentUI/Controls/FluSlider.qml
+++ b/src/imports/FluentUI/Controls/FluSlider.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls.impl
-import QtQuick.Templates as T
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Templates 2.15 as T
+import FluentUI 1.0
T.Slider {
property bool tooltipEnabled: true
diff --git a/src/imports/FluentUI/Controls/FluSpinBox.qml b/src/imports/FluentUI/Controls/FluSpinBox.qml
index 4e7a8ff0..dbdda8e6 100644
--- a/src/imports/FluentUI/Controls/FluSpinBox.qml
+++ b/src/imports/FluentUI/Controls/FluSpinBox.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Layouts
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Rectangle{
readonly property string displayText : d._displayText
diff --git a/src/imports/FluentUI/Controls/FluStatusView.qml b/src/imports/FluentUI/Controls/FluStatusView.qml
index 8c32fdf0..87ffc7bf 100644
--- a/src/imports/FluentUI/Controls/FluStatusView.qml
+++ b/src/imports/FluentUI/Controls/FluStatusView.qml
@@ -1,7 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.3
+import FluentUI 1.0
Item{
id:control
diff --git a/src/imports/FluentUI/Controls/FluTabView.qml b/src/imports/FluentUI/Controls/FluTabView.qml
index 53ae702d..181e210f 100644
--- a/src/imports/FluentUI/Controls/FluTabView.qml
+++ b/src/imports/FluentUI/Controls/FluTabView.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Item {
enum TabWidthBehavior {
diff --git a/src/imports/FluentUI/Controls/FluTableModelColumn.qml b/src/imports/FluentUI/Controls/FluTableModelColumn.qml
index f3921140..b3a1fd01 100644
--- a/src/imports/FluentUI/Controls/FluTableModelColumn.qml
+++ b/src/imports/FluentUI/Controls/FluTableModelColumn.qml
@@ -1,4 +1,4 @@
-import Qt.labs.qmlmodels
+import Qt.labs.qmlmodels 1.0
TableModelColumn{
diff --git a/src/imports/FluentUI/Controls/FluTableView.qml b/src/imports/FluentUI/Controls/FluTableView.qml
index f094a9b6..446f96ec 100644
--- a/src/imports/FluentUI/Controls/FluTableView.qml
+++ b/src/imports/FluentUI/Controls/FluTableView.qml
@@ -1,16 +1,15 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import QtQuick.Layouts
-import Qt.labs.qmlmodels
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
+ import Qt.labs.qmlmodels 1.0
Rectangle {
property var columnSource
property var dataSource
- property color selectionColor: Qt.alpha(FluTheme.primaryColor.lightest,0.6)
- property color hoverButtonColor: Qt.alpha(selectionColor,0.2)
- property color pressedButtonColor: Qt.alpha(selectionColor,0.4)
+ property color selectionColor: Qt.lighter(FluTheme.primaryColor.lightest,1.2)
+ property color hoverButtonColor: Qt.lighter(selectionColor,1.2)
+ property color pressedButtonColor: Qt.lighter(selectionColor,1.3)
id:control
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
onColumnSourceChanged: {
@@ -34,9 +33,8 @@ Rectangle {
id:d
property var header_rows:[]
property bool selectionFlag: true
- function obtEditDelegate(column,row){
+ function obtEditDelegate(column,row,cellItem){
var display = table_model.data(table_model.index(row,column),"display")
- var cellItem = table_view.itemAtCell(column, row)
var cellPosition = cellItem.mapToItem(scroll_table, 0, 0)
item_loader.column = column
item_loader.row = row
@@ -170,17 +168,7 @@ Rectangle {
}
boundsBehavior: Flickable.StopAtBounds
ScrollBar.horizontal: FluScrollBar{}
- maximumFlickVelocity: 1680
ScrollBar.vertical: FluScrollBar{}
- selectionModel: ItemSelectionModel {
- id:selection_model
- model: table_model
- onSelectionChanged: {
- if(selection_rect.dragging){
- d.selectionFlag = !d.selectionFlag
- }
- }
- }
columnWidthProvider: function(column) {
var w = columnSource[column].width
if(column === item_loader.column){
@@ -216,15 +204,14 @@ Rectangle {
clip: true
delegate: Rectangle {
id:item_table
- property var position: Qt.point(column,row)
- required property bool selected
+ property point position: Qt.point(column,row)
color: (row%2!==0) ? control.color : (FluTheme.dark ? Qt.rgba(1,1,1,0.06) : Qt.rgba(0,0,0,0.06))
implicitHeight: 40
implicitWidth: columnSource[column].width
Rectangle{
anchors.fill: parent
visible: !item_loader.sourceComponent
- color: selected ? control.selectionColor : "#00000000"
+ color: "#00000000"
}
MouseArea{
anchors.fill: parent
@@ -243,15 +230,11 @@ Rectangle {
if(display instanceof Component){
return
}
- item_loader.sourceComponent = d.obtEditDelegate(column,row)
+ item_loader.sourceComponent = d.obtEditDelegate(column,row,item_table)
}
onClicked:
(event)=>{
item_loader.sourceComponent = undefined
- if(!(event.modifiers & Qt.ControlModifier)){
- selection_model.clear()
- }
- selection_model.select(table_model.index(row,column),ItemSelectionModel.Select)
d.selectionFlag = !d.selectionFlag
event.accepted = true
}
@@ -292,17 +275,6 @@ Rectangle {
id:com_handle
Item {}
}
- SelectionRectangle {
- id:selection_rect
- target: table_view
- bottomRightHandle:com_handle
- topLeftHandle: com_handle
- onDraggingChanged: {
- if(!dragging){
- table_view.interactive = true
- }
- }
- }
TableView {
id: header_horizontal
model: TableModel{
@@ -329,9 +301,6 @@ Rectangle {
if(column_item_control_mouse.pressed){
return control.pressedButtonColor
}
- if(selection_model.isColumnSelected(column)){
- return control.hoverButtonColor
- }
return column_item_control_mouse.containsMouse&&!canceled ? control.hoverButtonColor : FluTheme.dark ? Qt.rgba(50/255,50/255,50/255,1) : Qt.rgba(247/255,247/255,247/255,1)
}
border.color: FluTheme.dark ? "#252525" : "#e4e4e4"
@@ -342,7 +311,7 @@ Rectangle {
height: parent.height
font.bold:{
d.selectionFlag
- return selection_model.columnIntersectsSelection(column)
+ return true
}
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
@@ -363,12 +332,6 @@ Rectangle {
onClicked:
(event)=>{
closeEditor()
- if(!(event.modifiers & Qt.ControlModifier)){
- selection_model.clear()
- }
- for(var i=0;i<=table_view.rows;i++){
- selection_model.select(table_model.index(i,column),ItemSelectionModel.Select)
- }
d.selectionFlag = !d.selectionFlag
}
}
@@ -444,9 +407,6 @@ Rectangle {
if(item_control_mouse.pressed){
return control.pressedButtonColor
}
- if(selection_model.isRowSelected(row)){
- return control.hoverButtonColor
- }
return item_control_mouse.containsMouse&&!canceled ? control.hoverButtonColor : FluTheme.dark ? Qt.rgba(50/255,50/255,50/255,1) : Qt.rgba(247/255,247/255,247/255,1)
}
border.color: FluTheme.dark ? "#252525" : "#e4e4e4"
@@ -456,7 +416,7 @@ Rectangle {
text: row + 1
font.bold:{
d.selectionFlag
- return selection_model.rowIntersectsSelection(row)
+ return true
}
}
MouseArea{
@@ -475,12 +435,6 @@ Rectangle {
onClicked:
(event)=>{
closeEditor()
- if(!(event.modifiers & Qt.ControlModifier)){
- selection_model.clear()
- }
- for(var i=0;i<=columnSource.length;i++){
- selection_model.select(table_model.index(row,i),ItemSelectionModel.Select)
- }
d.selectionFlag = !d.selectionFlag
}
}
diff --git a/src/imports/FluentUI/Controls/FluText.qml b/src/imports/FluentUI/Controls/FluText.qml
index 86dfa5b7..414f1e06 100644
--- a/src/imports/FluentUI/Controls/FluText.qml
+++ b/src/imports/FluentUI/Controls/FluText.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Text {
property color textColor: FluTheme.dark ? FluColors.White : FluColors.Grey220
diff --git a/src/imports/FluentUI/Controls/FluTextBox.qml b/src/imports/FluentUI/Controls/FluTextBox.qml
index 5438023a..b4074fa8 100644
--- a/src/imports/FluentUI/Controls/FluTextBox.qml
+++ b/src/imports/FluentUI/Controls/FluTextBox.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
TextField{
signal commit
@@ -26,7 +25,7 @@ TextField{
}
font:FluTextStyle.Body
renderType: FluTheme.nativeText ? Text.NativeRendering : Text.QtRendering
- selectionColor: Qt.alpha(FluTheme.primaryColor.lightest,0.6)
+ selectionColor: FluTheme.primaryColor.lightest
selectedTextColor: color
placeholderTextColor: {
if(!enabled){
diff --git a/src/imports/FluentUI/Controls/FluTextBoxBackground.qml b/src/imports/FluentUI/Controls/FluTextBoxBackground.qml
index 202cd75d..1aa98e79 100644
--- a/src/imports/FluentUI/Controls/FluTextBoxBackground.qml
+++ b/src/imports/FluentUI/Controls/FluTextBoxBackground.qml
@@ -1,7 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import Qt5Compat.GraphicalEffects
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtGraphicalEffects 1.0
+import FluentUI 1.0
Rectangle{
property Item inputItem
diff --git a/src/imports/FluentUI/Controls/FluTextBoxMenu.qml b/src/imports/FluentUI/Controls/FluTextBoxMenu.qml
index 061a94e9..6d5eedd8 100644
--- a/src/imports/FluentUI/Controls/FluTextBoxMenu.qml
+++ b/src/imports/FluentUI/Controls/FluTextBoxMenu.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
FluMenu{
property string cutText : "剪切"
diff --git a/src/imports/FluentUI/Controls/FluTextButton.qml b/src/imports/FluentUI/Controls/FluTextButton.qml
index d111e138..e61bdf39 100644
--- a/src/imports/FluentUI/Controls/FluTextButton.qml
+++ b/src/imports/FluentUI/Controls/FluTextButton.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Button {
property bool disabled: false
diff --git a/src/imports/FluentUI/Controls/FluTimePicker.qml b/src/imports/FluentUI/Controls/FluTimePicker.qml
index c8e4cfc4..0a399f99 100644
--- a/src/imports/FluentUI/Controls/FluTimePicker.qml
+++ b/src/imports/FluentUI/Controls/FluTimePicker.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Layouts
-import QtQuick.Window
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Window 2.15
+import FluentUI 1.0
Rectangle {
enum HourFormat {
diff --git a/src/imports/FluentUI/Controls/FluToggleButton.qml b/src/imports/FluentUI/Controls/FluToggleButton.qml
index e1fdbe22..3ac946bf 100644
--- a/src/imports/FluentUI/Controls/FluToggleButton.qml
+++ b/src/imports/FluentUI/Controls/FluToggleButton.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Button {
property bool disabled: false
@@ -30,6 +29,11 @@ Button {
property var clickListener : function(){
checked = !checked
}
+ onCheckableChanged: {
+ if(checkable){
+ checkable = false
+ }
+ }
property color pressedColor: FluTheme.dark ? Qt.darker(normalColor,1.2) : Qt.lighter(normalColor,1.2)
Accessible.role: Accessible.Button
Accessible.name: control.text
diff --git a/src/imports/FluentUI/Controls/FluToggleSwitch.qml b/src/imports/FluentUI/Controls/FluToggleSwitch.qml
index e8f5b7d7..97c803c3 100644
--- a/src/imports/FluentUI/Controls/FluToggleSwitch.qml
+++ b/src/imports/FluentUI/Controls/FluToggleSwitch.qml
@@ -1,8 +1,7 @@
-import QtQuick
-import QtQuick.Controls
-import QtQuick.Controls.Basic
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Button {
property bool disabled: false
@@ -23,6 +22,11 @@ Button {
property var clickListener : function(){
checked = !checked
}
+ onCheckableChanged: {
+ if(checkable){
+ checkable = false
+ }
+ }
id: control
Accessible.role: Accessible.Button
Accessible.name: control.text
diff --git a/src/imports/FluentUI/Controls/FluTooltip.qml b/src/imports/FluentUI/Controls/FluTooltip.qml
index 4df02bcc..673cc078 100644
--- a/src/imports/FluentUI/Controls/FluTooltip.qml
+++ b/src/imports/FluentUI/Controls/FluTooltip.qml
@@ -1,7 +1,6 @@
-import QtQuick
-import QtQuick.Controls.impl
-import QtQuick.Templates as T
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Templates 2.15 as T
+import FluentUI 1.0
T.ToolTip {
id: control
diff --git a/src/imports/FluentUI/Controls/FluTreeView.qml b/src/imports/FluentUI/Controls/FluTreeView.qml
index f3c7c155..ed3bf62b 100644
--- a/src/imports/FluentUI/Controls/FluTreeView.qml
+++ b/src/imports/FluentUI/Controls/FluTreeView.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Window
-import QtQuick.Layouts
-import QtQuick.Controls
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Window 2.15
+import QtQuick.Layouts 1.15
+import QtQuick.Controls 2.15
+import FluentUI 1.0
Item {
enum TreeViewSelectionMode {
@@ -251,7 +251,6 @@ Item {
flickableDirection: Flickable.HorizontalAndVerticalFlick
clip: true
boundsBehavior: ListView.StopAtBounds
- maximumFlickVelocity: 1680
ScrollBar.vertical: FluScrollBar {}
ScrollBar.horizontal: FluScrollBar { }
}
diff --git a/src/imports/FluentUI/Controls/FluVerticalHeaderView.qml b/src/imports/FluentUI/Controls/FluVerticalHeaderView.qml
index 88809269..0ec10599 100644
--- a/src/imports/FluentUI/Controls/FluVerticalHeaderView.qml
+++ b/src/imports/FluentUI/Controls/FluVerticalHeaderView.qml
@@ -1,6 +1,6 @@
-import QtQuick
-import QtQuick.Templates as T
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Templates 2.15 as T
+import FluentUI 1.0
T.VerticalHeaderView {
id: control
diff --git a/src/imports/FluentUI/Controls/FluWindow.qml b/src/imports/FluentUI/Controls/FluWindow.qml
index 67ee8c61..e34a4ed3 100644
--- a/src/imports/FluentUI/Controls/FluWindow.qml
+++ b/src/imports/FluentUI/Controls/FluWindow.qml
@@ -1,8 +1,8 @@
-import QtQuick
-import QtQuick.Window
-import QtQuick.Controls
-import QtQuick.Layouts
-import FluentUI
+import QtQuick 2.15
+import QtQuick.Window 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+import FluentUI 1.0
Window {
enum LaunchMode {
diff --git a/src/imports/FluentUI/qmldir b/src/imports/FluentUI/qmldir
index 791ae3e9..17eafb17 100644
--- a/src/imports/FluentUI/qmldir
+++ b/src/imports/FluentUI/qmldir
@@ -1,68 +1,83 @@
-module FluentUI
-FluAppBar 1.0 FluAppBar.qml
-FluArea 1.0 FluArea.qml
-FluAutoSuggestBox 1.0 FluAutoSuggestBox.qml
-FluBadge 1.0 FluBadge.qml
-FluBreadcrumbBar 1.0 FluBreadcrumbBar.qml
-FluButton 1.0 FluButton.qml
-FluCalendarPicker 1.0 FluCalendarPicker.qml
-FluCalendarView 1.0 FluCalendarView.qml
-FluCarousel 1.0 FluCarousel.qml
-FluCheckBox 1.0 FluCheckBox.qml
-FluColorPicker 1.0 FluColorPicker.qml
-FluColorView 1.0 FluColorView.qml
-FluComboBox 1.0 FluComboBox.qml
-FluContentDialog 1.0 FluContentDialog.qml
-FluContentPage 1.0 FluContentPage.qml
-FluDatePicker 1.0 FluDatePicker.qml
-FluDivider 1.0 FluDivider.qml
-FluDropDownButton 1.0 FluDropDownButton.qml
-FluExpander 1.0 FluExpander.qml
-FluFilledButton 1.0 FluFilledButton.qml
-FluFlipView 1.0 FluFlipView.qml
-FluFocusRectangle 1.0 FluFocusRectangle.qml
-FluIcon 1.0 FluIcon.qml
-FluIconButton 1.0 FluIconButton.qml
-FluInfoBar 1.0 FluInfoBar.qml
-FluItem 1.0 FluItem.qml
-FluMediaPlayer 1.0 FluMediaPlayer.qml
-FluMenu 1.0 FluMenu.qml
-FluMenuItem 1.0 FluMenuItem.qml
-FluMultilineTextBox 1.0 FluMultilineTextBox.qml
-FluNavigationView 1.0 FluNavigationView.qml
-FluObject 1.0 FluObject.qml
-FluPagination 1.0 FluPagination.qml
-FluPaneItem 1.0 FluPaneItem.qml
-FluPaneItemEmpty 1.0 FluPaneItemEmpty.qml
-FluPaneItemExpander 1.0 FluPaneItemExpander.qml
-FluPaneItemHeader 1.0 FluPaneItemHeader.qml
-FluPaneItemSeparator 1.0 FluPaneItemSeparator.qml
-FluPasswordBox 1.0 FluPasswordBox.qml
-FluPivot 1.0 FluPivot.qml
-FluPivotItem 1.0 FluPivotItem.qml
-FluProgressBar 1.0 FluProgressBar.qml
-FluProgressRing 1.0 FluProgressRing.qml
-FluRadioButton 1.0 FluRadioButton.qml
-FluRatingControl 1.0 FluRatingControl.qml
-FluRectangle 1.0 FluRectangle.qml
-FluScrollablePage 1.0 FluScrollablePage.qml
-FluScrollBar 1.0 FluScrollBar.qml
-FluShadow 1.0 FluShadow.qml
-FluSlider 1.0 FluSlider.qml
-FluStatusView 1.0 FluStatusView.qml
-FluTableView 1.0 FluTableView.qml
-FluTabView 1.0 FluTabView.qml
-FluText 1.0 FluText.qml
-FluTextBox 1.0 FluTextBox.qml
-FluTextBoxBackground 1.0 FluTextBoxBackground.qml
-FluTextBoxMenu 1.0 FluTextBoxMenu.qml
-FluTextButton 1.0 FluTextButton.qml
-FluTimePicker 1.0 FluTimePicker.qml
-FluToggleButton 1.0 FluToggleButton.qml
-FluToggleSwitch 1.0 FluToggleSwitch.qml
-FluTooltip 1.0 FluTooltip.qml
-FluTreeView 1.0 FluTreeView.qml
-FluWindow 1.0 FluWindow.qml
-FluWindowResize 1.0 FluWindowResize.qml
-FluSingleton 1.0 FluSingleton.qml
+module FluentUI
+classname FluentUIPlugin
+designersupported
+typeinfo plugins.qmltypes
+
+FluAppBar 1.0 Controls/FluAppBar.qml
+FluArea 1.0 Controls/FluArea.qml
+FluAcrylic 1.0 Controls/FluAcrylic.qml
+FluAutoSuggestBox 1.0 Controls/FluAutoSuggestBox.qml
+FluBadge 1.0 Controls/FluBadge.qml
+FluBreadcrumbBar 1.0 Controls/FluBreadcrumbBar.qml
+FluButton 1.0 Controls/FluButton.qml
+FluCalendarPicker 1.0 Controls/FluCalendarPicker.qml
+FluCalendarView 1.0 Controls/FluCalendarView.qml
+FluCarousel 1.0 Controls/FluCarousel.qml
+FluCheckBox 1.0 Controls/FluCheckBox.qml
+FluColorPicker 1.0 Controls/FluColorPicker.qml
+FluColorView 1.0 Controls/FluColorView.qml
+FluComboBox 1.0 Controls/FluComboBox.qml
+FluControl 1.0 Controls/FluControl.qml
+FluContentDialog 1.0 Controls/FluContentDialog.qml
+FluContentPage 1.0 Controls/FluContentPage.qml
+FluCopyableText 1.0 Controls/FluCopyableText.qml
+FluDatePicker 1.0 Controls/FluDatePicker.qml
+FluDivider 1.0 Controls/FluDivider.qml
+FluDropDownButton 1.0 Controls/FluDropDownButton.qml
+FluExpander 1.0 Controls/FluExpander.qml
+FluFilledButton 1.0 Controls/FluFilledButton.qml
+FluFlipView 1.0 Controls/FluFlipView.qml
+FluFocusRectangle 1.0 Controls/FluFocusRectangle.qml
+FluIcon 1.0 Controls/FluIcon.qml
+FluIconButton 1.0 Controls/FluIconButton.qml
+FluInfoBar 1.0 Controls/FluInfoBar.qml
+FluItem 1.0 Controls/FluItem.qml
+FluImage 1.0 Controls/FluImage.qml
+FluMediaPlayer 1.0 Controls/FluMediaPlayer.qml
+FluMenu 1.0 Controls/FluMenu.qml
+FluMenuItem 1.0 Controls/FluMenuItem.qml
+FluMenuSeparator 1.0 Controls/FluMenuSeparator.qml
+FluMenuBar 1.0 Controls/FluMenuBar.qml
+FluMenuBarItem 1.0 Controls/FluMenuBarItem.qml
+FluMultilineTextBox 1.0 Controls/FluMultilineTextBox.qml
+FluNavigationView 1.0 Controls/FluNavigationView.qml
+FluObject 1.0 Controls/FluObject.qml
+FluPage 1.0 Controls/FluPage.qml
+FluPagination 1.0 Controls/FluPagination.qml
+FluPaneItem 1.0 Controls/FluPaneItem.qml
+FluPaneItemEmpty 1.0 Controls/FluPaneItemEmpty.qml
+FluPaneItemExpander 1.0 Controls/FluPaneItemExpander.qml
+FluPaneItemHeader 1.0 Controls/FluPaneItemHeader.qml
+FluPaneItemSeparator 1.0 Controls/FluPaneItemSeparator.qml
+FluPasswordBox 1.0 Controls/FluPasswordBox.qml
+FluPivot 1.0 Controls/FluPivot.qml
+FluPivotItem 1.0 Controls/FluPivotItem.qml
+FluPopup 1.0 Controls/FluPopup.qml
+FluProgressBar 1.0 Controls/FluProgressBar.qml
+FluProgressRing 1.0 Controls/FluProgressRing.qml
+FluRadioButton 1.0 Controls/FluRadioButton.qml
+FluRadioButtons 1.0 Controls/FluRadioButtons.qml
+FluRatingControl 1.0 Controls/FluRatingControl.qml
+FluRectangle 1.0 Controls/FluRectangle.qml
+FluRemoteLoader 1.0 Controls/FluRemoteLoader.qml
+FluScrollablePage 1.0 Controls/FluScrollablePage.qml
+FluScrollBar 1.0 Controls/FluScrollBar.qml
+FluShadow 1.0 Controls/FluShadow.qml
+FluSlider 1.0 Controls/FluSlider.qml
+FluSpinBox 1.0 Controls/FluSpinBox.qml
+FluStatusView 1.0 Controls/FluStatusView.qml
+FluTableView 1.0 Controls/FluTableView.qml
+FluTabView 1.0 Controls/FluTabView.qml
+FluText 1.0 Controls/FluText.qml
+FluTextBox 1.0 Controls/FluTextBox.qml
+FluTextBoxBackground 1.0 Controls/FluTextBoxBackground.qml
+FluTextBoxMenu 1.0 Controls/FluTextBoxMenu.qml
+FluTextButton 1.0 Controls/FluTextButton.qml
+FluTimePicker 1.0 Controls/FluTimePicker.qml
+FluToggleButton 1.0 Controls/FluToggleButton.qml
+FluToggleSwitch 1.0 Controls/FluToggleSwitch.qml
+FluTooltip 1.0 Controls/FluTooltip.qml
+FluTreeView 1.0 Controls/FluTreeView.qml
+FluWindow 1.0 Controls/FluWindow.qml
+FluSingleton 1.0 Controls/FluSingleton.qml
plugin fluentuiplugin