Updated register side pane to use new state restoration code

This commit is contained in:
Nav
2022-07-19 22:58:38 +01:00
parent bce5ee27ce
commit 97d7690682
2 changed files with 33 additions and 11 deletions

View File

@@ -334,12 +334,18 @@ namespace Bloom
if (lastLeftPanelState.has_value() && this->leftPanel != nullptr) {
this->leftPanel->setSize(lastLeftPanelState->size);
if (lastLeftPanelState->open && this->targetRegistersSidePane != nullptr
&& this->insightProjectSettings.previousRegistersPaneState.has_value()
&& this->insightProjectSettings.previousRegistersPaneState->activated
) {
this->toggleTargetRegistersPane();
}
}
if (
this->targetRegistersSidePane != nullptr
&& this->insightProjectSettings.previousRegistersPaneState.has_value()
) {
auto& lastRegisterSidePaneState = this->insightProjectSettings.previousRegistersPaneState.value();
// The register pane cannot be detached
lastRegisterSidePaneState.attached = true;
lastRegisterSidePaneState.detachedWindowState = std::nullopt;
this->targetRegistersSidePane->restoreLastPaneState(lastRegisterSidePaneState);
}
if (lastBottomPanelState.has_value()) {
@@ -535,8 +541,22 @@ namespace Bloom
this->leftPanel
);
leftPanelLayout->addWidget(this->targetRegistersSidePane);
this->targetRegistersButton->setChecked(false);
QObject::connect(
this->targetRegistersSidePane,
&PaneWidget::paneActivated,
this,
&InsightWindow::onRegistersPaneStateChanged
);
QObject::connect(
this->targetRegistersSidePane,
&PaneWidget::paneDeactivated,
this,
&InsightWindow::onRegistersPaneStateChanged
);
this->targetRegistersButton->setDisabled(false);
this->targetRegistersSidePane->deactivate();
auto& memoryInspectionPaneSettingsByMemoryType =
this->insightProjectSettings.memoryInspectionPaneSettingsByMemoryType;
@@ -868,14 +888,10 @@ namespace Bloom
void InsightWindow::toggleTargetRegistersPane() {
if (this->targetRegistersSidePane->activated) {
this->targetRegistersSidePane->deactivate();
this->targetRegistersButton->setChecked(false);
} else {
this->targetRegistersSidePane->activate();
this->targetRegistersButton->setChecked(true);
}
this->adjustMinimumSize();
}
void InsightWindow::toggleRamInspectionPane() {
@@ -928,6 +944,11 @@ namespace Bloom
}
}
void InsightWindow::onRegistersPaneStateChanged() {
this->targetRegistersButton->setChecked(this->targetRegistersSidePane->activated);
this->adjustMinimumSize();
}
void InsightWindow::onRamInspectionPaneStateChanged() {
this->ramInspectionButton->setChecked(this->ramInspectionPane->activated);

View File

@@ -139,6 +139,7 @@ namespace Bloom
void toggleTargetRegistersPane();
void toggleRamInspectionPane();
void toggleEepromInspectionPane();
void onRegistersPaneStateChanged();
void onRamInspectionPaneStateChanged();
void onEepromInspectionPaneStateChanged();
void onProgrammingModeEnabled();