Fixed bug where deactivated PaneWidgets were still visible after state restoration

This commit is contained in:
Nav
2022-08-14 17:37:25 +01:00
parent 6083e3eb01
commit cb33f33ba9
3 changed files with 23 additions and 9 deletions

View File

@@ -24,9 +24,7 @@ namespace Bloom::Widgets
}
void PaneWidget::deactivate() {
if (this->isVisible()) {
this->hide();
}
this->hide();
this->state.activated = false;
emit this->paneDeactivated();
@@ -44,6 +42,11 @@ namespace Bloom::Widgets
}
this->state.attached = false;
if (this->state.activated) {
this->show();
}
emit this->paneDetached();
}
@@ -51,6 +54,10 @@ namespace Bloom::Widgets
this->setWindowFlag(Qt::Window, false);
this->state.attached = true;
if (this->state.activated) {
this->show();
}
emit this->paneAttached();
}

View File

@@ -188,12 +188,18 @@ namespace Bloom::Widgets
);
// Restore the state
if (!this->state.attached) {
if (this->state.attached) {
this->attach();
} else {
this->detach();
}
if (this->state.activated) {
this->activate();
} else {
this->deactivate();
}
}

View File

@@ -144,14 +144,15 @@ namespace Bloom::Widgets
);
// Restore the state
if (!this->state.attached) {
// The register pane cannot be detached.
this->state.attached = true;
}
if (this->state.activated) {
this->activate();
} else {
this->deactivate();
}
// The register pane cannot be detached.
this->attach();
}
void TargetRegistersPaneWidget::filterRegisters(const QString& keyword) {