diff --git a/example/qml/window/MainWindow.qml b/example/qml/window/MainWindow.qml index 5962d28e..544affc0 100644 --- a/example/qml/window/MainWindow.qml +++ b/example/qml/window/MainWindow.qml @@ -344,7 +344,7 @@ FluWindow { id:callable property bool silent: true onStart: { - console.debug("satrt check update...") + console.debug("start check update...") } onFinish: { console.debug("check update finish") diff --git a/example/qml/window/PageWindow.qml b/example/qml/window/PageWindow.qml index 4d7c649f..ebedea3b 100644 --- a/example/qml/window/PageWindow.qml +++ b/example/qml/window/PageWindow.qml @@ -16,7 +16,7 @@ FluWindow { onInitArgument: (arg)=>{ window.title = arg.title - loader.setSource( arg.url,{animDisabled:true}) + loader.setSource(arg.url,{animationEnabled:false}) } FluLoader{ id: loader diff --git a/example/res/image/bg_scenic.png b/example/res/image/bg_scenic.png index ca77f871..4cd2291c 100644 Binary files a/example/res/image/bg_scenic.png and b/example/res/image/bg_scenic.png differ diff --git a/example/src/main.cpp b/example/src/main.cpp index e4f46639..43f182f9 100644 --- a/example/src/main.cpp +++ b/example/src/main.cpp @@ -94,7 +94,7 @@ int main(int argc, char *argv[]) engine.load(url); const int exec = QGuiApplication::exec(); if (exec == 931) { - QProcess::startDetached(qApp->applicationFilePath(), QStringList()); + QProcess::startDetached(qApp->applicationFilePath(), qApp->arguments()); } return exec; } diff --git a/src/FluFrameless.cpp b/src/FluFrameless.cpp index 25a64aba..6274f3a8 100644 --- a/src/FluFrameless.cpp +++ b/src/FluFrameless.cpp @@ -45,6 +45,9 @@ FluFrameless::FluFrameless(QQuickItem *parent) } FluFrameless::~FluFrameless(){ +} + +void FluFrameless::onDestruction(){ qApp->removeNativeEventFilter(this); } @@ -142,7 +145,6 @@ bool FluFrameless::nativeEventFilter(const QByteArray &eventType, void *message, }else{ offsetSize = 1; } - _maximizeButton->setProperty("hover",false); if(!isCompositionEnabled()){ offsetSize = 0; } @@ -152,6 +154,7 @@ bool FluFrameless::nativeEventFilter(const QByteArray &eventType, void *message, clientRect->left = originalLeft + offsetSize; clientRect->right = originalRight - offsetSize; } + _setMaximizeHovered(false); *result = WVR_REDRAW; return true; }else if(uMsg == WM_NCHITTEST){ @@ -159,10 +162,10 @@ bool FluFrameless::nativeEventFilter(const QByteArray &eventType, void *message, if (*result == HTNOWHERE) { *result = HTZOOM; } - _setMaximizeHoverd(true); + _setMaximizeHovered(true); return true; } - _setMaximizeHoverd(false); + _setMaximizeHovered(false); _setMaximizePressed(false); *result = 0; POINT nativeGlobalPos{GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)}; @@ -341,7 +344,7 @@ void FluFrameless::_setMaximizePressed(bool val){ _maximizeButton->setProperty("down",val); } -void FluFrameless::_setMaximizeHoverd(bool val){ +void FluFrameless::_setMaximizeHovered(bool val){ _maximizeButton->setProperty("hover",val); } diff --git a/src/FluFrameless.h b/src/FluFrameless.h index 95979d9a..b8e4c508 100644 --- a/src/FluFrameless.h +++ b/src/FluFrameless.h @@ -36,6 +36,7 @@ public: Q_INVOKABLE void showMinimized(); Q_INVOKABLE void showNormal(); Q_INVOKABLE void setHitTestVisible(QQuickItem*); + Q_INVOKABLE void onDestruction(); protected: bool eventFilter(QObject *obj, QEvent *event) override; private: @@ -48,7 +49,7 @@ private: bool _hitAppBar(); bool _hitMaximizeButton(); void _setMaximizePressed(bool val); - void _setMaximizeHoverd(bool val); + void _setMaximizeHovered(bool val); private: qint64 _current; int _edges = 0; diff --git a/src/FluTreeModel.cpp b/src/FluTreeModel.cpp index f948b008..57d74164 100644 --- a/src/FluTreeModel.cpp +++ b/src/FluTreeModel.cpp @@ -76,7 +76,7 @@ QObject* FluTreeModel::getRow(int row){ return _rows.at(row); } -void FluTreeModel::checkRow(int row,bool chekced){ +void FluTreeModel::checkRow(int row,bool checked){ auto itemData = _rows.at(row); if(itemData->hasChildren()){ QList stack = itemData->_children; @@ -85,7 +85,7 @@ void FluTreeModel::checkRow(int row,bool chekced){ auto item = stack.at(stack.count()-1); stack.pop_back(); if(!item->hasChildren()){ - item->_checked = chekced; + item->_checked = checked; } QList children = item->_children; if(!children.isEmpty()){ @@ -96,10 +96,10 @@ void FluTreeModel::checkRow(int row,bool chekced){ } } }else{ - if(itemData->_checked == chekced){ + if(itemData->_checked == checked){ return; } - itemData->_checked = chekced; + itemData->_checked = checked; } Q_EMIT layoutChanged(QList(),QAbstractItemModel::VerticalSortHint); QList data; @@ -201,7 +201,7 @@ void FluTreeModel::expand(int row){ insertRows(row+1,insertData); } -void FluTreeModel::dragAnddrop(int dragIndex,int dropIndex,bool isDropTopArea){ +void FluTreeModel::dragAndDrop(int dragIndex,int dropIndex,bool isDropTopArea){ if(dropIndex>_rows.count() || dropIndex<0){ return; } diff --git a/src/FluTreeModel.h b/src/FluTreeModel.h index 47e0ecc1..ddaccd81 100644 --- a/src/FluTreeModel.h +++ b/src/FluTreeModel.h @@ -102,10 +102,10 @@ public: Q_INVOKABLE void setDataSource(QList> data); Q_INVOKABLE void collapse(int row); Q_INVOKABLE void expand(int row); - Q_INVOKABLE void dragAnddrop(int dragIndex,int dropIndex,bool isDropTopArea); + Q_INVOKABLE void dragAndDrop(int dragIndex,int dropIndex,bool isDropTopArea); Q_INVOKABLE FluNode* getNode(int row); Q_INVOKABLE void refreshNode(int row); - Q_INVOKABLE void checkRow(int row,bool chekced); + Q_INVOKABLE void checkRow(int row,bool checked); Q_INVOKABLE bool hitHasChildrenExpanded(int row); Q_INVOKABLE void allExpand(); Q_INVOKABLE void allCollapse(); diff --git a/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml b/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml index 62fb3a54..59e33919 100644 --- a/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml +++ b/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml @@ -224,7 +224,7 @@ Item { onReleased: { loader_container.sourceComponent = undefined if(d.dropIndex !== -1){ - tree_model.dragAnddrop(d.dragIndex,d.dropIndex,d.isDropTopArea) + tree_model.dragAndDrop(d.dragIndex,d.dropIndex,d.isDropTopArea) } d.dropIndex = -1 d.dragIndex = -1 diff --git a/src/Qt5/imports/FluentUI/Controls/FluWindow.qml b/src/Qt5/imports/FluentUI/Controls/FluWindow.qml index 81cc588a..fbdf62ee 100644 --- a/src/Qt5/imports/FluentUI/Controls/FluWindow.qml +++ b/src/Qt5/imports/FluentUI/Controls/FluWindow.qml @@ -103,6 +103,9 @@ Window { frameless.setHitTestVisible(appBar.layoutMacosButtons) frameless.setHitTestVisible(appBar.layoutStandardbuttons) } + Component.onDestruction: { + frameless.onDestruction() + } } Component{ id:com_background diff --git a/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml b/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml index 1dc5a2e3..e08e5dbd 100644 --- a/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml +++ b/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml @@ -224,7 +224,7 @@ Item { onReleased: { loader_container.sourceComponent = undefined if(d.dropIndex !== -1){ - tree_model.dragAnddrop(d.dragIndex,d.dropIndex,d.isDropTopArea) + tree_model.dragAndDrop(d.dragIndex,d.dropIndex,d.isDropTopArea) } d.dropIndex = -1 d.dragIndex = -1 diff --git a/src/Qt6/imports/FluentUI/Controls/FluWindow.qml b/src/Qt6/imports/FluentUI/Controls/FluWindow.qml index c8d0fff8..4b88b1e3 100644 --- a/src/Qt6/imports/FluentUI/Controls/FluWindow.qml +++ b/src/Qt6/imports/FluentUI/Controls/FluWindow.qml @@ -102,6 +102,9 @@ Window { frameless.setHitTestVisible(appBar.layoutMacosButtons) frameless.setHitTestVisible(appBar.layoutStandardbuttons) } + Component.onDestruction: { + frameless.onDestruction() + } } Component{ id:com_background