From c2b845658d1543dd22b3e146f7f3b85416fb5cce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Wed, 3 Apr 2024 13:24:30 +0800 Subject: [PATCH] update --- src/FluFrameless.cpp | 17 +++++++++++++---- src/FluFrameless.h | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/FluFrameless.cpp b/src/FluFrameless.cpp index 6274f3a8..d8a1dc29 100644 --- a/src/FluFrameless.cpp +++ b/src/FluFrameless.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #ifdef Q_OS_WIN #pragma comment (lib,"user32.lib") @@ -62,9 +63,6 @@ void FluFrameless::componentComplete(){ } window()->installEventFilter(this); qApp->installNativeEventFilter(this); - if(_appbar){ - _appbar->installEventFilter(this); - } if(_maximizeButton){ setHitTestVisible(_maximizeButton); } @@ -425,7 +423,18 @@ bool FluFrameless::eventFilter(QObject *obj, QEvent *ev){ } }else{ if(_hitAppBar()){ - window()->startSystemMove(); + qint64 clickTimer = QDateTime::currentMSecsSinceEpoch(); + qint64 offset = clickTimer - this->_clickTimer; + this->_clickTimer = clickTimer; + if(offset<300){ + if(_isMaximized()){ + showNormal(); + }else{ + showMaximized(); + } + }else{ + window()->startSystemMove(); + } } } break; diff --git a/src/FluFrameless.h b/src/FluFrameless.h index b8e4c508..cce2d0ed 100644 --- a/src/FluFrameless.h +++ b/src/FluFrameless.h @@ -54,6 +54,7 @@ private: qint64 _current; int _edges = 0; int _margins = 8; + qint64 _clickTimer = 0; QList> _hitTestList; };