This commit is contained in:
朱子楚\zhuzi 2024-04-17 21:39:55 +08:00
parent 1a0f2afee0
commit a443f3a9ba
22 changed files with 169 additions and 119 deletions

View File

@ -91,14 +91,14 @@ jobs:
if: startsWith(github.event.ref, 'refs/tags/') if: startsWith(github.event.ref, 'refs/tags/')
uses: zhuzichu520/inno-setup-action@v1.0.1 uses: zhuzichu520/inno-setup-action@v1.0.1
with: with:
filepath: ./action-cli/InstallerScript.iss filepath: ./package/InstallerScript.iss
- name: uploadRelease - name: uploadRelease
if: startsWith(github.event.ref, 'refs/tags/') if: startsWith(github.event.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2 uses: svenstaro/upload-release-action@v2
with: with:
repo_token: ${{ secrets.GITHUB_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ./action-cli/installer.exe file: ./package/installer.exe
asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.exe asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.exe
tag: ${{ github.ref }} tag: ${{ github.ref }}
overwrite: true overwrite: true

View File

@ -78,14 +78,14 @@ jobs:
if: startsWith(github.event.ref, 'refs/tags/') if: startsWith(github.event.ref, 'refs/tags/')
uses: zhuzichu520/inno-setup-action@v1.0.1 uses: zhuzichu520/inno-setup-action@v1.0.1
with: with:
filepath: ./action-cli/InstallerScript.iss filepath: ./package/InstallerScript.iss
- name: uploadRelease - name: uploadRelease
if: startsWith(github.event.ref, 'refs/tags/') if: startsWith(github.event.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2 uses: svenstaro/upload-release-action@v2
with: with:
repo_token: ${{ secrets.GITHUB_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ./action-cli/installer.exe file: ./package/installer.exe
asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.exe asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.exe
tag: ${{ github.ref }} tag: ${{ github.ref }}
overwrite: true overwrite: true

View File

@ -85,14 +85,14 @@ jobs:
if: startsWith(github.event.ref, 'refs/tags/') if: startsWith(github.event.ref, 'refs/tags/')
uses: zhuzichu520/inno-setup-action@v1.0.1 uses: zhuzichu520/inno-setup-action@v1.0.1
with: with:
filepath: ./action-cli/InstallerScript.iss filepath: ./package/InstallerScript.iss
- name: uploadRelease - name: uploadRelease
if: startsWith(github.event.ref, 'refs/tags/') if: startsWith(github.event.ref, 'refs/tags/')
uses: svenstaro/upload-release-action@v2 uses: svenstaro/upload-release-action@v2
with: with:
repo_token: ${{ secrets.GITHUB_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ./action-cli/installer.exe file: ./package/installer.exe
asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.exe asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.exe
tag: ${{ github.ref }} tag: ${{ github.ref }}
overwrite: true overwrite: true

4
.gitignore vendored
View File

@ -36,10 +36,8 @@ bin
build build
cmake-build-* cmake-build-*
.idea .idea
package
example/Version.h example/Version.h
action-cli
dist dist
*.qm *.qm

View File

@ -69,7 +69,7 @@ if (WIN32)
) )
configure_file( configure_file(
${CMAKE_SOURCE_DIR}/.cmake/InstallerScript.iss.in ${CMAKE_SOURCE_DIR}/.cmake/InstallerScript.iss.in
${CMAKE_SOURCE_DIR}/action-cli/InstallerScript.iss ${CMAKE_SOURCE_DIR}/package/InstallerScript.iss
) )
endif () endif ()

View File

@ -2394,22 +2394,22 @@ Some contents...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="qml/page/T_TreeView.qml" line="185"/> <location filename="qml/page/T_TreeView.qml" line="183"/>
<source>Title</source> <source>Title</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="qml/page/T_TreeView.qml" line="189"/> <location filename="qml/page/T_TreeView.qml" line="187"/>
<source>Name</source> <source>Name</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="qml/page/T_TreeView.qml" line="193"/> <location filename="qml/page/T_TreeView.qml" line="191"/>
<source>Avatar</source> <source>Avatar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="qml/page/T_TreeView.qml" line="197"/> <location filename="qml/page/T_TreeView.qml" line="195"/>
<source>Address</source> <source>Address</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -2504,22 +2504,22 @@ Some contents...</source>
<translation type="obsolete">%1</translation> <translation type="obsolete">%1</translation>
</message> </message>
<message> <message>
<location filename="qml/page/T_TreeView.qml" line="185"/> <location filename="qml/page/T_TreeView.qml" line="183"/>
<source>Title</source> <source>Title</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="qml/page/T_TreeView.qml" line="197"/> <location filename="qml/page/T_TreeView.qml" line="195"/>
<source>Address</source> <source>Address</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="qml/page/T_TreeView.qml" line="193"/> <location filename="qml/page/T_TreeView.qml" line="191"/>
<source>Avatar</source> <source>Avatar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="qml/page/T_TreeView.qml" line="189"/> <location filename="qml/page/T_TreeView.qml" line="187"/>
<source>Name</source> <source>Name</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -33,7 +33,7 @@ FluContentPage {
cellHeight: 110 cellHeight: 110
clip: true clip: true
boundsBehavior: GridView.StopAtBounds boundsBehavior: GridView.StopAtBounds
model:FluTheme.awesomeList() model: FluApp.iconDatas()
ScrollBar.vertical: FluScrollBar {} ScrollBar.vertical: FluScrollBar {}
anchors{ anchors{
topMargin: 10 topMargin: 10

View File

@ -162,7 +162,8 @@ FluContentPage {
} }
} }
FluFrame{ FluTreeView{
id:tree_view
anchors{ anchors{
left: parent.left left: parent.left
top: layout_controls.bottom top: layout_controls.bottom
@ -170,39 +171,35 @@ FluContentPage {
bottom: parent.bottom bottom: parent.bottom
right: parent.right right: parent.right
} }
FluTreeView{ cellHeight: slider_cell_height.value
id:tree_view showLine: switch_showline.checked
anchors.fill: parent checkable:switch_checkable.checked
cellHeight: slider_cell_height.value depthPadding: slider_depth_padding.value
showLine: switch_showline.checked onCurrentChanged: {
checkable:switch_checkable.checked showInfo(current.data.title)
depthPadding: slider_depth_padding.value }
onCurrentChanged: { columnSource:[
showInfo(current.data.title) {
} title: qsTr("Title"),
columnSource:[ dataIndex: 'title',
{ width: 300
title: qsTr("Title"), },{
dataIndex: 'title', title: qsTr("Name"),
width: 300 dataIndex: 'name',
},{ width: 100
title: qsTr("Name"), },{
dataIndex: 'name', title: qsTr("Avatar"),
width: 100 dataIndex: 'avatar',
},{ width: 100
title: qsTr("Avatar"), },{
dataIndex: 'avatar', title: qsTr("Address"),
width: 100 dataIndex: 'address',
},{ width: 200
title: qsTr("Address"), },
dataIndex: 'address', ]
width: 200 Component.onCompleted: {
}, var data = treeData()
] dataSource = data
Component.onCompleted: {
var data = treeData()
dataSource = data
}
} }
} }
} }

View File

@ -9,6 +9,7 @@
#include <QClipboard> #include <QClipboard>
#include <QTranslator> #include <QTranslator>
#include <utility> #include <utility>
#include "FluentIconDef.h"
FluApp::FluApp(QObject *parent) : QObject{parent} { FluApp::FluApp(QObject *parent) : QObject{parent} {
_useSystemAppBar = false; _useSystemAppBar = false;
@ -30,3 +31,19 @@ void FluApp::init(QObject *target, QLocale locale) {
} }
} }
} }
[[maybe_unused]] QJsonArray FluApp::iconDatas(const QString &keyword) {
QJsonArray arr;
QMetaEnum enumType = Fluent_Icons::staticMetaObject.enumerator(Fluent_Icons::staticMetaObject.indexOfEnumerator("Fluent_IconType"));
for (int i = 0; i <= enumType.keyCount() - 1; ++i) {
QString name = enumType.key(i);
int icon = enumType.value(i);
if (keyword.isEmpty() || name.contains(keyword)) {
QJsonObject obj;
obj.insert("name", name);
obj.insert("icon", icon);
arr.append(obj);
}
}
return arr;
}

View File

@ -8,6 +8,7 @@
#include <QQmlEngine> #include <QQmlEngine>
#include <QTranslator> #include <QTranslator>
#include <QQuickWindow> #include <QQuickWindow>
#include <QJsonArray>
#include "stdafx.h" #include "stdafx.h"
#include "singleton.h" #include "singleton.h"
@ -35,6 +36,8 @@ SINGLETON(FluApp)
Q_INVOKABLE void init(QObject *target, QLocale locale = QLocale::system()); Q_INVOKABLE void init(QObject *target, QLocale locale = QLocale::system());
[[maybe_unused]] Q_INVOKABLE static QJsonArray iconDatas(const QString &keyword = "");
private: private:
QQmlEngine *_engine{}; QQmlEngine *_engine{};
QTranslator *_translator = nullptr; QTranslator *_translator = nullptr;

View File

@ -47,8 +47,8 @@ void FluTheme::refreshColors() {
fontSecondaryColor(isDark ? QColor(222, 222, 222, 255) : QColor(102, 102, 102, 255)); fontSecondaryColor(isDark ? QColor(222, 222, 222, 255) : QColor(102, 102, 102, 255));
fontTertiaryColor(isDark ? QColor(200, 200, 200, 255) : QColor(153, 153, 153, 255)); fontTertiaryColor(isDark ? QColor(200, 200, 200, 255) : QColor(153, 153, 153, 255));
itemNormalColor(isDark ? QColor(255, 255, 255, 0) : QColor(0, 0, 0, 0)); itemNormalColor(isDark ? QColor(255, 255, 255, 0) : QColor(0, 0, 0, 0));
frameColor(isDark ? QColor(255, 255, 255, qRound(255 * 0.12)) : QColor(0, 0, 0, qRound(255 * 0.09))); frameColor(isDark ? QColor(56, 56, 56, qRound(255 * 0.8)) : QColor(233, 233, 233, qRound(255 * 0.8)));
frameActiveColor(isDark ? QColor(48, 48, 48, qRound(255 * 0.8)) : QColor(255, 255, 255, qRound(255 * 0.6))); frameActiveColor(isDark ? QColor(48, 48, 48, qRound(255 * 0.8)) : QColor(255, 255, 255, qRound(255 * 0.8)));
itemHoverColor(isDark ? QColor(255, 255, 255, qRound(255 * 0.06)) : QColor(0, 0, 0, qRound(255 * 0.03))); itemHoverColor(isDark ? QColor(255, 255, 255, qRound(255 * 0.06)) : QColor(0, 0, 0, qRound(255 * 0.03)));
itemPressColor(isDark ? QColor(255, 255, 255, qRound(255 * 0.09)) : QColor(0, 0, 0, qRound(255 * 0.06))); itemPressColor(isDark ? QColor(255, 255, 255, qRound(255 * 0.09)) : QColor(0, 0, 0, qRound(255 * 0.06)));
itemCheckColor(isDark ? QColor(255, 255, 255, qRound(255 * 0.12)) : QColor(0, 0, 0, qRound(255 * 0.09))); itemCheckColor(isDark ? QColor(255, 255, 255, qRound(255 * 0.12)) : QColor(0, 0, 0, qRound(255 * 0.09)));
@ -64,22 +64,6 @@ bool FluTheme::eventFilter(QObject *, QEvent *event) {
return false; return false;
} }
[[maybe_unused]] QJsonArray FluTheme::awesomeList(const QString &keyword) {
QJsonArray arr;
QMetaEnum enumType = Fluent_Icons::staticMetaObject.enumerator(Fluent_Icons::staticMetaObject.indexOfEnumerator("Fluent_IconType"));
for (int i = 0; i <= enumType.keyCount() - 1; ++i) {
QString name = enumType.key(i);
int icon = enumType.value(i);
if (keyword.isEmpty() || name.contains(keyword)) {
QJsonObject obj;
obj.insert("name", name);
obj.insert("icon", icon);
arr.append(obj);
}
}
return arr;
}
bool FluTheme::dark() const { bool FluTheme::dark() const {
if (_darkMode == FluThemeType::DarkMode::Dark) { if (_darkMode == FluThemeType::DarkMode::Dark) {
return true; return true;

View File

@ -60,8 +60,6 @@ protected:
public: public:
SINGLETON(FluTheme) SINGLETON(FluTheme)
[[maybe_unused]] Q_INVOKABLE static QJsonArray awesomeList(const QString &keyword = "");
Q_SIGNAL void darkChanged(); Q_SIGNAL void darkChanged();
static FluTheme *create(QQmlEngine *, QJSEngine *) { return getInstance(); } static FluTheme *create(QQmlEngine *, QJSEngine *) { return getInstance(); }

View File

@ -8,7 +8,7 @@ Item {
property real tintOpacity: 0.65 property real tintOpacity: 0.65
property real luminosity: 0.01 property real luminosity: 0.01
property real noiseOpacity: 0.02 property real noiseOpacity: 0.02
property var target property alias target : effect_source.sourceItem
property int blurRadius: 32 property int blurRadius: 32
property rect targetRect: Qt.rect(control.x, control.y, control.width,control.height) property rect targetRect: Qt.rect(control.x, control.y, control.width,control.height)
ShaderEffectSource { ShaderEffectSource {
@ -16,7 +16,6 @@ Item {
anchors.fill: parent anchors.fill: parent
visible: false visible: false
sourceRect: control.targetRect sourceRect: control.targetRect
sourceItem: control.target
} }
FastBlur { FastBlur {
id: fast_blur id: fast_blur

View File

@ -44,8 +44,8 @@ T.Menu {
background: Rectangle { background: Rectangle {
implicitWidth: 150 implicitWidth: 150
implicitHeight: 36 implicitHeight: 36
color:FluTheme.dark ? Qt.rgba(45/255,45/255,45/255,1) : Qt.rgba(240/255,240/255,240/255,1) color:FluTheme.dark ? Qt.rgba(45/255,45/255,45/255,1) : Qt.rgba(252/255,252/255,252/255,1)
border.color: FluTheme.dark ? Window.active ? Qt.rgba(55/255,55/255,55/255,1):Qt.rgba(45/255,45/255,45/255,1) : Qt.rgba(226/255,229/255,234/255,1) border.color: FluTheme.dark ? Qt.rgba(26/255,26/255,26/255,1) : Qt.rgba(191/255,191/255,191/255,1)
border.width: 1 border.width: 1
radius: 5 radius: 5
FluShadow{} FluShadow{}

View File

@ -1,4 +1,5 @@
import QtQuick 2.15 import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15 import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15 import QtQuick.Layouts 1.15
import Qt.labs.qmlmodels 1.0 import Qt.labs.qmlmodels 1.0
@ -17,7 +18,12 @@ Rectangle {
property color selectedBorderColor: FluTheme.primaryColor property color selectedBorderColor: FluTheme.primaryColor
property color selectedColor: FluTools.withOpacity(FluTheme.primaryColor,0.3) property color selectedColor: FluTools.withOpacity(FluTheme.primaryColor,0.3)
id:control id:control
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1) color: {
if(Window.active){
return FluTheme.frameActiveColor
}
return FluTheme.frameColor
}
onColumnSourceChanged: { onColumnSourceChanged: {
if(columnSource.length!==0){ if(columnSource.length!==0){
var columns= [] var columns= []

View File

@ -18,21 +18,28 @@ Rectangle {
property color selectedColor: FluTools.withOpacity(FluTheme.primaryColor,0.3) property color selectedColor: FluTools.withOpacity(FluTheme.primaryColor,0.3)
readonly property alias current: d.current readonly property alias current: d.current
id:control id:control
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1) color: {
if(Window.active){
return FluTheme.frameActiveColor
}
return FluTheme.frameColor
}
onDataSourceChanged: { onDataSourceChanged: {
tree_model.setDataSource(dataSource) tree_model.setDataSource(dataSource)
} }
onColumnSourceChanged: { onColumnSourceChanged: {
var columns= [] if(columnSource.length !== 0){
var headerRow = {} var columns= []
columnSource.forEach(function(item){ var headerRow = {}
var column = Qt.createQmlObject('import Qt.labs.qmlmodels 1.0;TableModelColumn{}',control); columnSource.forEach(function(item){
column.display = item.dataIndex var column = Qt.createQmlObject('import Qt.labs.qmlmodels 1.0;TableModelColumn{}',control);
columns.push(column) column.display = item.dataIndex
headerRow[item.dataIndex] = item.title columns.push(column)
}) headerRow[item.dataIndex] = item.title
header_column_model.columns = columns })
header_column_model.rows = [headerRow] header_column_model.columns = columns
header_column_model.rows = [headerRow]
}
} }
FluTreeModel{ FluTreeModel{
id:tree_model id:tree_model

View File

@ -38,6 +38,12 @@ Module {
name: "init" name: "init"
Parameter { name: "target"; type: "QObject"; isPointer: true } Parameter { name: "target"; type: "QObject"; isPointer: true }
} }
Method {
name: "iconDatas"
type: "QJsonArray"
Parameter { name: "keyword"; type: "string" }
}
Method { name: "iconDatas"; type: "QJsonArray" }
} }
Component { Component {
name: "FluCalendarViewType" name: "FluCalendarViewType"
@ -133,10 +139,10 @@ Module {
exports: ["FluentUI/FluFrameless 1.0"] exports: ["FluentUI/FluFrameless 1.0"]
exportMetaObjectRevisions: [0] exportMetaObjectRevisions: [0]
Property { name: "appbar"; type: "QQuickItem"; isPointer: true } Property { name: "appbar"; type: "QQuickItem"; isPointer: true }
Property { name: "topmost"; type: "bool" }
Property { name: "maximizeButton"; type: "QQuickItem"; isPointer: true } Property { name: "maximizeButton"; type: "QQuickItem"; isPointer: true }
Property { name: "minimizedButton"; type: "QQuickItem"; isPointer: true } Property { name: "minimizedButton"; type: "QQuickItem"; isPointer: true }
Property { name: "closeButton"; type: "QQuickItem"; isPointer: true } Property { name: "closeButton"; type: "QQuickItem"; isPointer: true }
Property { name: "topmost"; type: "bool" }
Property { name: "disabled"; type: "bool" } Property { name: "disabled"; type: "bool" }
Property { name: "fixSize"; type: "bool" } Property { name: "fixSize"; type: "bool" }
Method { name: "showFullScreen" } Method { name: "showFullScreen" }
@ -318,18 +324,16 @@ Module {
Property { name: "fontSecondaryColor"; type: "QColor" } Property { name: "fontSecondaryColor"; type: "QColor" }
Property { name: "fontTertiaryColor"; type: "QColor" } Property { name: "fontTertiaryColor"; type: "QColor" }
Property { name: "itemNormalColor"; type: "QColor" } Property { name: "itemNormalColor"; type: "QColor" }
Property { name: "frameColor"; type: "QColor" }
Property { name: "frameActiveColor"; type: "QColor" }
Property { name: "itemHoverColor"; type: "QColor" } Property { name: "itemHoverColor"; type: "QColor" }
Property { name: "itemPressColor"; type: "QColor" } Property { name: "itemPressColor"; type: "QColor" }
Property { name: "itemCheckColor"; type: "QColor" } Property { name: "itemCheckColor"; type: "QColor" }
Property { name: "desktopImagePath"; type: "string" }
Property { name: "darkMode"; type: "int" } Property { name: "darkMode"; type: "int" }
Property { name: "nativeText"; type: "bool" } Property { name: "nativeText"; type: "bool" }
Property { name: "animationEnabled"; type: "bool" } Property { name: "animationEnabled"; type: "bool" }
Method { Property { name: "blurBehindWindowEnabled"; type: "bool" }
name: "awesomeList"
type: "QJsonArray"
Parameter { name: "keyword"; type: "string" }
}
Method { name: "awesomeList"; type: "QJsonArray" }
} }
Component { Component {
name: "FluThemeType" name: "FluThemeType"
@ -480,6 +484,18 @@ Module {
type: "QRect" type: "QRect"
Parameter { name: "window"; type: "QQuickWindow"; isPointer: true } Parameter { name: "window"; type: "QQuickWindow"; isPointer: true }
} }
Method { name: "getWallpaperFilePath"; type: "string" }
Method {
name: "imageMainColor"
type: "QColor"
Parameter { name: "image"; type: "QImage" }
Parameter { name: "bright"; type: "double" }
}
Method {
name: "imageMainColor"
type: "QColor"
Parameter { name: "image"; type: "QImage" }
}
} }
Component { Component {
name: "FluTreeModel" name: "FluTreeModel"
@ -487,7 +503,6 @@ Module {
exports: ["FluentUI/FluTreeModel 1.0"] exports: ["FluentUI/FluTreeModel 1.0"]
exportMetaObjectRevisions: [0] exportMetaObjectRevisions: [0]
Property { name: "dataSourceSize"; type: "int" } Property { name: "dataSourceSize"; type: "int" }
Property { name: "selectionModel"; type: "QList<FluTreeNode*>" }
Property { name: "columnSource"; type: "QList<QVariantMap>" } Property { name: "columnSource"; type: "QList<QVariantMap>" }
Method { Method {
name: "removeRows" name: "removeRows"
@ -504,6 +519,11 @@ Module {
type: "QObject*" type: "QObject*"
Parameter { name: "row"; type: "int" } Parameter { name: "row"; type: "int" }
} }
Method {
name: "setRow"
Parameter { name: "row"; type: "int" }
Parameter { name: "data"; type: "QVariantMap" }
}
Method { Method {
name: "setData" name: "setData"
Parameter { name: "data"; type: "QList<FluTreeNode*>" } Parameter { name: "data"; type: "QList<FluTreeNode*>" }
@ -541,6 +561,7 @@ Module {
} }
Method { name: "allExpand" } Method { name: "allExpand" }
Method { name: "allCollapse" } Method { name: "allCollapse" }
Method { name: "selectionModel"; type: "QVariant" }
} }
Component { Component {
name: "FluTreeViewType" name: "FluTreeViewType"
@ -584,12 +605,12 @@ Module {
} }
} }
Component { Component {
name: "Fluent_Awesome" name: "Fluent_Icons"
exports: ["FluentUI/FluentIcons 1.0"] exports: ["FluentUI/FluentIcons 1.0"]
isCreatable: false isCreatable: false
exportMetaObjectRevisions: [0] exportMetaObjectRevisions: [0]
Enum { Enum {
name: "Fluent_AwesomeType" name: "Fluent_IconType"
values: { values: {
"GlobalNavButton": 59136, "GlobalNavButton": 59136,
"Wifi": 59137, "Wifi": 59137,
@ -2421,37 +2442,37 @@ Module {
Property { name: "darkClickListener"; type: "QVariant" } Property { name: "darkClickListener"; type: "QVariant" }
Property { Property {
name: "buttonStayTop" name: "buttonStayTop"
type: "FluIconButton_QMLTYPE_19" type: "FluIconButton_QMLTYPE_20"
isReadonly: true isReadonly: true
isPointer: true isPointer: true
} }
Property { Property {
name: "buttonMinimize" name: "buttonMinimize"
type: "FluIconButton_QMLTYPE_19" type: "FluIconButton_QMLTYPE_20"
isReadonly: true isReadonly: true
isPointer: true isPointer: true
} }
Property { Property {
name: "buttonMaximize" name: "buttonMaximize"
type: "FluIconButton_QMLTYPE_19" type: "FluIconButton_QMLTYPE_20"
isReadonly: true isReadonly: true
isPointer: true isPointer: true
} }
Property { Property {
name: "buttonClose" name: "buttonClose"
type: "FluIconButton_QMLTYPE_19" type: "FluIconButton_QMLTYPE_20"
isReadonly: true isReadonly: true
isPointer: true isPointer: true
} }
Property { Property {
name: "buttonDark" name: "buttonDark"
type: "FluIconButton_QMLTYPE_19" type: "FluIconButton_QMLTYPE_20"
isReadonly: true isReadonly: true
isPointer: true isPointer: true
} }
Property { Property {
name: "layoutMacosButtons" name: "layoutMacosButtons"
type: "FluLoader_QMLTYPE_12" type: "FluLoader_QMLTYPE_14"
isReadonly: true isReadonly: true
isPointer: true isPointer: true
} }
@ -3148,8 +3169,8 @@ Module {
Property { name: "actionItem"; type: "QQmlComponent"; isPointer: true } Property { name: "actionItem"; type: "QQmlComponent"; isPointer: true }
Property { name: "topPadding"; type: "int" } Property { name: "topPadding"; type: "int" }
Property { name: "pageMode"; type: "int" } Property { name: "pageMode"; type: "int" }
Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_42"; isPointer: true } Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_33"; isPointer: true }
Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_42"; isPointer: true } Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_33"; isPointer: true }
Property { name: "navCompactWidth"; type: "int" } Property { name: "navCompactWidth"; type: "int" }
Property { name: "navTopMargin"; type: "int" } Property { name: "navTopMargin"; type: "int" }
Property { name: "cellHeight"; type: "int" } Property { name: "cellHeight"; type: "int" }
@ -3157,13 +3178,13 @@ Module {
Property { name: "hideNavAppBar"; type: "bool" } Property { name: "hideNavAppBar"; type: "bool" }
Property { Property {
name: "buttonMenu" name: "buttonMenu"
type: "FluIconButton_QMLTYPE_19" type: "FluIconButton_QMLTYPE_20"
isReadonly: true isReadonly: true
isPointer: true isPointer: true
} }
Property { Property {
name: "buttonBack" name: "buttonBack"
type: "FluIconButton_QMLTYPE_19" type: "FluIconButton_QMLTYPE_20"
isReadonly: true isReadonly: true
isPointer: true isPointer: true
} }
@ -3975,21 +3996,23 @@ Module {
Property { name: "previousText"; type: "string" } Property { name: "previousText"; type: "string" }
} }
Component { Component {
prototype: "QQuickItem" prototype: "QQuickRectangle"
name: "FluentUI/FluTreeView 1.0" name: "FluentUI/FluTreeView 1.0"
exports: ["FluentUI/FluTreeView 1.0"] exports: ["FluentUI/FluTreeView 1.0"]
exportMetaObjectRevisions: [0] exportMetaObjectRevisions: [0]
isComposite: true isComposite: true
defaultProperty: "data" defaultProperty: "data"
Property { name: "currentIndex"; type: "int" }
Property { name: "dataSource"; type: "QVariant" } Property { name: "dataSource"; type: "QVariant" }
Property { name: "columnSource"; type: "QVariant" }
Property { name: "showLine"; type: "bool" } Property { name: "showLine"; type: "bool" }
Property { name: "draggable"; type: "bool" }
Property { name: "cellHeight"; type: "int" } Property { name: "cellHeight"; type: "int" }
Property { name: "depthPadding"; type: "int" } Property { name: "depthPadding"; type: "int" }
Property { name: "checkable"; type: "bool" } Property { name: "checkable"; type: "bool" }
Property { name: "lineColor"; type: "QColor" } Property { name: "lineColor"; type: "QColor" }
Method { name: "selectionModel"; type: "QVariant" } Property { name: "borderColor"; type: "QColor" }
Property { name: "selectedBorderColor"; type: "QColor" }
Property { name: "selectedColor"; type: "QColor" }
Property { name: "current"; type: "QVariant"; isReadonly: true }
Method { name: "count"; type: "QVariant" } Method { name: "count"; type: "QVariant" }
Method { name: "visibleCount"; type: "QVariant" } Method { name: "visibleCount"; type: "QVariant" }
Method { Method {
@ -4004,6 +4027,14 @@ Module {
} }
Method { name: "allExpand"; type: "QVariant" } Method { name: "allExpand"; type: "QVariant" }
Method { name: "allCollapse"; type: "QVariant" } Method { name: "allCollapse"; type: "QVariant" }
Method {
name: "customItem"
type: "QVariant"
Parameter { name: "comId"; type: "QVariant" }
Parameter { name: "options"; type: "QVariant" }
}
Method { name: "closeEditor"; type: "QVariant" }
Method { name: "selectionModel"; type: "QVariant" }
} }
Component { Component {
prototype: "QQuickWindowQmlImpl" prototype: "QQuickWindowQmlImpl"

View File

@ -44,8 +44,8 @@ T.Menu {
background: Rectangle { background: Rectangle {
implicitWidth: 150 implicitWidth: 150
implicitHeight: 36 implicitHeight: 36
color:FluTheme.dark ? Qt.rgba(45/255,45/255,45/255,1) : Qt.rgba(240/255,240/255,240/255,1) color:FluTheme.dark ? Qt.rgba(45/255,45/255,45/255,1) : Qt.rgba(252/255,252/255,252/255,1)
border.color: FluTheme.dark ? Window.active ? Qt.rgba(55/255,55/255,55/255,1):Qt.rgba(45/255,45/255,45/255,1) : Qt.rgba(226/255,229/255,234/255,1) border.color: FluTheme.dark ? Qt.rgba(26/255,26/255,26/255,1) : Qt.rgba(191/255,191/255,191/255,1)
border.width: 1 border.width: 1
radius: 5 radius: 5
FluShadow{} FluShadow{}

View File

@ -18,7 +18,12 @@ Rectangle {
property color selectedBorderColor: FluTheme.primaryColor property color selectedBorderColor: FluTheme.primaryColor
property color selectedColor: FluTools.withOpacity(FluTheme.primaryColor,0.3) property color selectedColor: FluTools.withOpacity(FluTheme.primaryColor,0.3)
id:control id:control
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1) color: {
if(Window.active){
return FluTheme.frameActiveColor
}
return FluTheme.frameColor
}
onColumnSourceChanged: { onColumnSourceChanged: {
if(columnSource.length!==0){ if(columnSource.length!==0){
var columns= [] var columns= []

View File

@ -18,7 +18,12 @@ Rectangle {
property color selectedColor: FluTools.withOpacity(FluTheme.primaryColor,0.3) property color selectedColor: FluTools.withOpacity(FluTheme.primaryColor,0.3)
readonly property alias current: d.current readonly property alias current: d.current
id:control id:control
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1) color: {
if(Window.active){
return FluTheme.frameActiveColor
}
return FluTheme.frameColor
}
onDataSourceChanged: { onDataSourceChanged: {
tree_model.setDataSource(dataSource) tree_model.setDataSource(dataSource)
} }