mirror of
https://github.com/zhuzichu520/FluentUI.git
synced 2024-11-27 05:38:37 +08:00
update
This commit is contained in:
parent
0eacc177d0
commit
b836b25028
@ -4,9 +4,8 @@ import QtQuick.Controls
|
|||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import FluentUI
|
import FluentUI
|
||||||
|
|
||||||
Window {
|
Item {
|
||||||
id: app
|
id: app
|
||||||
flags: Qt.SplashScreen
|
|
||||||
|
|
||||||
Connections{
|
Connections{
|
||||||
target: FluTheme
|
target: FluTheme
|
||||||
|
@ -4,9 +4,8 @@ import QtQuick.Controls 2.15
|
|||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts 1.15
|
||||||
import FluentUI 1.0
|
import FluentUI 1.0
|
||||||
|
|
||||||
Window {
|
Item {
|
||||||
id: app
|
id: app
|
||||||
flags: Qt.SplashScreen
|
|
||||||
|
|
||||||
Connections{
|
Connections{
|
||||||
target: FluTheme
|
target: FluTheme
|
||||||
|
@ -21,8 +21,8 @@ FluApp::FluApp(QObject *parent):QObject{parent}{
|
|||||||
FluApp::~FluApp(){
|
FluApp::~FluApp(){
|
||||||
}
|
}
|
||||||
|
|
||||||
void FluApp::init(QQuickWindow *window){
|
void FluApp::init(QObject *application){
|
||||||
this->_application = window;
|
this->_application = application;
|
||||||
FramelessHelper::Quick::initialize();
|
FramelessHelper::Quick::initialize();
|
||||||
FramelessConfig::instance()->set(Global::Option::DisableLazyInitializationForMicaMaterial);
|
FramelessConfig::instance()->set(Global::Option::DisableLazyInitializationForMicaMaterial);
|
||||||
FramelessConfig::instance()->set(Global::Option::CenterWindowBeforeShow);
|
FramelessConfig::instance()->set(Global::Option::CenterWindowBeforeShow);
|
||||||
|
@ -33,13 +33,13 @@ public:
|
|||||||
static FluApp *create(QQmlEngine *qmlEngine, QJSEngine *jsEngine){return getInstance();}
|
static FluApp *create(QQmlEngine *qmlEngine, QJSEngine *jsEngine){return getInstance();}
|
||||||
Q_INVOKABLE void run();
|
Q_INVOKABLE void run();
|
||||||
Q_INVOKABLE void navigate(const QString& route,const QJsonObject& argument = {},FluRegister* fluRegister = nullptr);
|
Q_INVOKABLE void navigate(const QString& route,const QJsonObject& argument = {},FluRegister* fluRegister = nullptr);
|
||||||
Q_INVOKABLE void init(QQuickWindow *window);
|
Q_INVOKABLE void init(QObject *window);
|
||||||
Q_INVOKABLE void exit(int retCode = 0);
|
Q_INVOKABLE void exit(int retCode = 0);
|
||||||
void addWindow(QQuickWindow* window);
|
void addWindow(QQuickWindow* window);
|
||||||
void removeWindow(QQuickWindow* window);
|
void removeWindow(QQuickWindow* window);
|
||||||
private:
|
private:
|
||||||
QMap<quint64, QQuickWindow*> _windows;
|
QMap<quint64, QQuickWindow*> _windows;
|
||||||
QWindow* _application;
|
QObject* _application;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FLUAPP_H
|
#endif // FLUAPP_H
|
||||||
|
@ -10,6 +10,7 @@ Rectangle {
|
|||||||
property color selectionColor: FluTools.colorAlpha(FluTheme.primaryColor.lightest,0.6)
|
property color selectionColor: FluTools.colorAlpha(FluTheme.primaryColor.lightest,0.6)
|
||||||
property color hoverButtonColor: FluTools.colorAlpha(selectionColor,0.2)
|
property color hoverButtonColor: FluTools.colorAlpha(selectionColor,0.2)
|
||||||
property color pressedButtonColor: FluTools.colorAlpha(selectionColor,0.4)
|
property color pressedButtonColor: FluTools.colorAlpha(selectionColor,0.4)
|
||||||
|
property color borderColor: FluTheme.dark ? "#252525" : "#e4e4e4"
|
||||||
property alias tableModel: table_model
|
property alias tableModel: table_model
|
||||||
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: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
|
||||||
@ -240,15 +241,8 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
model: table_model
|
model: table_model
|
||||||
clip: true
|
clip: true
|
||||||
delegate: Rectangle {
|
delegate: MouseArea{
|
||||||
id:item_table
|
hoverEnabled: true
|
||||||
property point position: Qt.point(column,row)
|
|
||||||
color:{
|
|
||||||
if(d.rowHoverIndex === row || d.currentRow === table_model.getRow(row).__index){
|
|
||||||
return FluTheme.dark ? Qt.rgba(1,1,1,0.06) : Qt.rgba(0,0,0,0.06)
|
|
||||||
}
|
|
||||||
return (row%2!==0) ? control.color : (FluTheme.dark ? Qt.rgba(1,1,1,0.015) : Qt.rgba(0,0,0,0.015))
|
|
||||||
}
|
|
||||||
implicitHeight: 40
|
implicitHeight: 40
|
||||||
implicitWidth: {
|
implicitWidth: {
|
||||||
var w = columnSource[column].width
|
var w = columnSource[column].width
|
||||||
@ -260,6 +254,19 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
return w
|
return w
|
||||||
}
|
}
|
||||||
|
onEntered: {
|
||||||
|
d.rowHoverIndex = row
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
id:item_table
|
||||||
|
anchors.fill: parent
|
||||||
|
property point position: Qt.point(column,row)
|
||||||
|
color:{
|
||||||
|
if(d.rowHoverIndex === row || d.currentRow === table_model.getRow(row).__index){
|
||||||
|
return FluTheme.dark ? Qt.rgba(1,1,1,0.06) : Qt.rgba(0,0,0,0.06)
|
||||||
|
}
|
||||||
|
return (row%2!==0) ? control.color : (FluTheme.dark ? Qt.rgba(1,1,1,0.015) : Qt.rgba(0,0,0,0.015))
|
||||||
|
}
|
||||||
Rectangle{
|
Rectangle{
|
||||||
height: 18
|
height: 18
|
||||||
radius: 1.5
|
radius: 1.5
|
||||||
@ -317,19 +324,10 @@ Rectangle {
|
|||||||
return com_text
|
return com_text
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MouseArea{
|
|
||||||
acceptedButtons: Qt.NoButton
|
|
||||||
anchors.fill: parent
|
|
||||||
hoverEnabled: true
|
|
||||||
z:99
|
|
||||||
onPositionChanged: {
|
|
||||||
d.rowHoverIndex = row
|
|
||||||
}
|
|
||||||
onEntered: {
|
|
||||||
d.rowHoverIndex = row
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
MouseArea{
|
MouseArea{
|
||||||
id:item_loader_layout
|
id:item_loader_layout
|
||||||
@ -400,7 +398,35 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
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)
|
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"
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: parent.width
|
||||||
|
height: 1
|
||||||
|
anchors.top: parent.top
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: parent.width
|
||||||
|
height: 1
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: 1
|
||||||
|
height: parent.height
|
||||||
|
anchors.left: parent.left
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: 1
|
||||||
|
height: parent.height
|
||||||
|
anchors.right: parent.right
|
||||||
|
color:"#00000000"
|
||||||
|
visible: column === tableModel.columnCount - 1
|
||||||
|
}
|
||||||
MouseArea{
|
MouseArea{
|
||||||
id:column_item_control_mouse
|
id:column_item_control_mouse
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@ -521,7 +547,35 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
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)
|
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"
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: parent.width
|
||||||
|
height: 1
|
||||||
|
anchors.top: parent.top
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: parent.width
|
||||||
|
height: 1
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
visible: row === tableModel.rowCount - 1
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: 1
|
||||||
|
height: parent.height
|
||||||
|
anchors.left: parent.left
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: 1
|
||||||
|
height: parent.height
|
||||||
|
anchors.right: parent.right
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
FluText{
|
FluText{
|
||||||
id:row_text
|
id:row_text
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
|
@ -11,6 +11,7 @@ Rectangle {
|
|||||||
property color selectionColor: FluTools.colorAlpha(FluTheme.primaryColor.lightest,0.6)
|
property color selectionColor: FluTools.colorAlpha(FluTheme.primaryColor.lightest,0.6)
|
||||||
property color hoverButtonColor: FluTools.colorAlpha(selectionColor,0.2)
|
property color hoverButtonColor: FluTools.colorAlpha(selectionColor,0.2)
|
||||||
property color pressedButtonColor: FluTools.colorAlpha(selectionColor,0.4)
|
property color pressedButtonColor: FluTools.colorAlpha(selectionColor,0.4)
|
||||||
|
property color borderColor: FluTheme.dark ? "#252525" : "#e4e4e4"
|
||||||
property alias tableModel: table_model
|
property alias tableModel: table_model
|
||||||
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: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
|
||||||
@ -241,15 +242,8 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
model: table_model
|
model: table_model
|
||||||
clip: true
|
clip: true
|
||||||
delegate: Rectangle {
|
delegate: MouseArea{
|
||||||
id:item_table
|
hoverEnabled: true
|
||||||
property point position: Qt.point(column,row)
|
|
||||||
color:{
|
|
||||||
if(d.rowHoverIndex === row || d.currentRow === table_model.getRow(row).__index){
|
|
||||||
return FluTheme.dark ? Qt.rgba(1,1,1,0.06) : Qt.rgba(0,0,0,0.06)
|
|
||||||
}
|
|
||||||
return (row%2!==0) ? control.color : (FluTheme.dark ? Qt.rgba(1,1,1,0.015) : Qt.rgba(0,0,0,0.015))
|
|
||||||
}
|
|
||||||
implicitHeight: 40
|
implicitHeight: 40
|
||||||
implicitWidth: {
|
implicitWidth: {
|
||||||
var w = columnSource[column].width
|
var w = columnSource[column].width
|
||||||
@ -261,6 +255,19 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
return w
|
return w
|
||||||
}
|
}
|
||||||
|
onEntered: {
|
||||||
|
d.rowHoverIndex = row
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
id:item_table
|
||||||
|
anchors.fill: parent
|
||||||
|
property point position: Qt.point(column,row)
|
||||||
|
color:{
|
||||||
|
if(d.rowHoverIndex === row || d.currentRow === table_model.getRow(row).__index){
|
||||||
|
return FluTheme.dark ? Qt.rgba(1,1,1,0.06) : Qt.rgba(0,0,0,0.06)
|
||||||
|
}
|
||||||
|
return (row%2!==0) ? control.color : (FluTheme.dark ? Qt.rgba(1,1,1,0.015) : Qt.rgba(0,0,0,0.015))
|
||||||
|
}
|
||||||
Rectangle{
|
Rectangle{
|
||||||
height: 18
|
height: 18
|
||||||
radius: 1.5
|
radius: 1.5
|
||||||
@ -318,19 +325,10 @@ Rectangle {
|
|||||||
return com_text
|
return com_text
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MouseArea{
|
|
||||||
acceptedButtons: Qt.NoButton
|
|
||||||
anchors.fill: parent
|
|
||||||
hoverEnabled: true
|
|
||||||
z:99
|
|
||||||
onPositionChanged: {
|
|
||||||
d.rowHoverIndex = row
|
|
||||||
}
|
|
||||||
onEntered: {
|
|
||||||
d.rowHoverIndex = row
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
MouseArea{
|
MouseArea{
|
||||||
id:item_loader_layout
|
id:item_loader_layout
|
||||||
@ -401,7 +399,35 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
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)
|
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"
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: parent.width
|
||||||
|
height: 1
|
||||||
|
anchors.top: parent.top
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: parent.width
|
||||||
|
height: 1
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: 1
|
||||||
|
height: parent.height
|
||||||
|
anchors.left: parent.left
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: 1
|
||||||
|
height: parent.height
|
||||||
|
anchors.right: parent.right
|
||||||
|
color:"#00000000"
|
||||||
|
visible: column === tableModel.columnCount - 1
|
||||||
|
}
|
||||||
MouseArea{
|
MouseArea{
|
||||||
id:column_item_control_mouse
|
id:column_item_control_mouse
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@ -522,7 +548,35 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
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)
|
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"
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: parent.width
|
||||||
|
height: 1
|
||||||
|
anchors.top: parent.top
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: parent.width
|
||||||
|
height: 1
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
visible: row === tableModel.rowCount - 1
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: 1
|
||||||
|
height: parent.height
|
||||||
|
anchors.left: parent.left
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
border.color: control.borderColor
|
||||||
|
width: 1
|
||||||
|
height: parent.height
|
||||||
|
anchors.right: parent.right
|
||||||
|
color:"#00000000"
|
||||||
|
}
|
||||||
FluText{
|
FluText{
|
||||||
id:row_text
|
id:row_text
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
|
Loading…
Reference in New Issue
Block a user