edockwidget maximize button logic improvement
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
#include <QEvent>
|
#include <QEvent>
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
|
|
||||||
EDockWidget::EDockWidget(const QString & title, QWidget * parent, Qt::WindowFlags flags): QDockWidget(title, parent, flags) {
|
EDockWidget::EDockWidget(const QString & title, QWidget * parent, Qt::WindowFlags flags): QDockWidget(title, parent, flags) {
|
||||||
@@ -150,15 +151,22 @@ void EDockWidget::updateStyle() {
|
|||||||
|
|
||||||
|
|
||||||
void EDockWidget::dockClicked() {
|
void EDockWidget::dockClicked() {
|
||||||
if (!isFloating() && isMaximized()) showNormal();
|
if (isFloating() && isMaximized()) {
|
||||||
setFloating(!isFloating());
|
showNormal();
|
||||||
|
QTimer::singleShot(0, [this]() { setFloating(!isFloating()); });
|
||||||
|
} else
|
||||||
|
setFloating(!isFloating());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void EDockWidget::maximize() {
|
void EDockWidget::maximize() {
|
||||||
if (!isFloating()) setFloating(true);
|
if (!isFloating()) {
|
||||||
if (isMaximized())
|
setFloating(true);
|
||||||
showNormal();
|
QTimer::singleShot(0, [this]() { showMaximized(); });
|
||||||
else
|
} else {
|
||||||
showMaximized();
|
if (isMaximized())
|
||||||
|
showNormal();
|
||||||
|
else
|
||||||
|
showMaximized();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user