edockwidget maximize button logic improvement
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user