From 7f80f96c55e74a20411f2216bfc63c1d462cffe7 Mon Sep 17 00:00:00 2001 From: fcasal Date: Mon, 14 Jan 2019 08:17:10 +0000 Subject: [PATCH] Fixes #1050 (#1107) --- src/MainWindow.cpp | 23 +++++++++++++++++++++-- src/MainWindow.h | 1 + 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index be55630d..05d65249 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -578,6 +578,7 @@ void MainWindow::restoreDocks() tabifyDockWidget(dashboardDock, vTablesDock); // Add Stack, Registers and Backtrace vertically stacked + addDockWidget(Qt::TopDockWidgetArea, stackDock); splitDockWidget(stackDock, registersDock, Qt::Vertical); tabifyDockWidget(stackDock, backtraceDock); // MemoryMap/Breakpoint/RegRefs widget goes in the center tabs @@ -679,6 +680,19 @@ void MainWindow::resetToDefaultLayout() } void MainWindow::resetToDebugLayout() +{ + CutterCore::MemoryWidgetType memType = core->getMemoryWidgetPriority(); + hideAllDocks(); + restoreDocks(); + showDebugDocks(); + core->raisePrioritizedMemoryWidget(memType); + + auto restoreStackDock = qhelpers::forceWidth(stackDock->widget(), 400); + qApp->processEvents(); + restoreStackDock.restoreWidth(stackDock->widget()); +} + +void MainWindow::restoreDebugLayout() { CutterCore::MemoryWidgetType memType = core->getMemoryWidgetPriority(); bool isMaxim = isMaximized(); @@ -725,9 +739,14 @@ void MainWindow::on_actionFunctionsRename_triggered() void MainWindow::on_actionDefault_triggered() { - resetToDefaultLayout(); + if (core->currentlyDebugging) { + resetToDebugLayout(); + } else { + resetToDefaultLayout(); + } } + /** * @brief MainWindow::on_actionNew_triggered * Open a new Cutter session. @@ -944,7 +963,7 @@ void MainWindow::projectSaved(bool successfully, const QString &name) void MainWindow::changeDebugView() { saveSettings(); - resetToDebugLayout(); + restoreDebugLayout(); enableDebugWidgetsMenu(true); } diff --git a/src/MainWindow.h b/src/MainWindow.h index a754cc57..c2c962e8 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -238,6 +238,7 @@ private: void resetToDefaultLayout(); void resetToDebugLayout(); + void restoreDebugLayout(); void restoreDocks(); void hideAllDocks();