edockwidget maximize button logic improvement

This commit is contained in:
2023-09-24 12:10:52 +03:00
parent 1a2f5ceefc
commit 5b5a374350

View File

@@ -4,6 +4,7 @@
#include <QEvent>
#include <QStyle>
#include <QTimer>
EDockWidget::EDockWidget(const QString & title, QWidget * parent, Qt::WindowFlags flags): QDockWidget(title, parent, flags) {
@@ -150,15 +151,22 @@ void EDockWidget::updateStyle() {
void EDockWidget::dockClicked() {
if (!isFloating() && isMaximized()) showNormal();
setFloating(!isFloating());
if (isFloating() && isMaximized()) {
showNormal();
QTimer::singleShot(0, [this]() { setFloating(!isFloating()); });
} else
setFloating(!isFloating());
}
void EDockWidget::maximize() {
if (!isFloating()) setFloating(true);
if (isMaximized())
showNormal();
else
showMaximized();
if (!isFloating()) {
setFloating(true);
QTimer::singleShot(0, [this]() { showMaximized(); });
} else {
if (isMaximized())
showNormal();
else
showMaximized();
}
}