diff --git a/src/SeerGdbWidget.cpp b/src/SeerGdbWidget.cpp index 4a1cd04..8fd2b77 100644 --- a/src/SeerGdbWidget.cpp +++ b/src/SeerGdbWidget.cpp @@ -1902,6 +1902,7 @@ void SeerGdbWidget::writeSettings () { settings.beginGroup("assembly"); { settings.setValue("showassemblytabonstartup", assemblyShowAssemblyTabOnStartup()); settings.setValue("keepassemblytabontop", assemblyKeepAssemblyTabOnTop()); + settings.setValue("assemblyregisterformat", assemblyRegisterFormat()); } settings.endGroup(); settings.beginGroup("gdboutputlog"); { @@ -1959,6 +1960,7 @@ void SeerGdbWidget::readSettings () { settings.beginGroup("assembly"); { setAssemblyShowAssemblyTabOnStartup(settings.value("showassemblytabonstartup", false).toBool()); setAssemblyKeepAssemblyTabOnTop(settings.value("keepassemblytabontop", true).toBool()); + setAssemblyRegisterFormat(settings.value("assemblyregisterformat", "Natural").toString()); } settings.endGroup(); settings.beginGroup("gdboutputlog"); { @@ -2218,9 +2220,15 @@ QString SeerGdbWidget::assemblySymbolDemagling () const { } void SeerGdbWidget::setAssemblyRegisterFormat (const QString& format) { + + _assemblyRegisterFormat = format; + + variableManagerWidget->registerValuesBrowserWidget()->setRegisterFormat(_assemblyRegisterFormat); } QString SeerGdbWidget::assemblyRegisterFormat () const { + + return _assemblyRegisterFormat; } void SeerGdbWidget::setGdbOutputLogEnabled (bool flag) { diff --git a/src/SeerGdbWidget.h b/src/SeerGdbWidget.h index e3de256..a9c8f68 100644 --- a/src/SeerGdbWidget.h +++ b/src/SeerGdbWidget.h @@ -241,6 +241,7 @@ class SeerGdbWidget : public QWidget, protected Ui::SeerGdbWidgetForm { QString _dprintfFunction; QString _dprintfChannel; bool _assemblyShowAssemblyTabOnStartup; + QString _assemblyRegisterFormat; QString _executableName; QString _executableArguments; diff --git a/src/SeerMainWindow.cpp b/src/SeerMainWindow.cpp index 5281e3b..0463d43 100644 --- a/src/SeerMainWindow.cpp +++ b/src/SeerMainWindow.cpp @@ -374,6 +374,7 @@ void SeerMainWindow::handleSettingsConfiguration () { dlg.setSourceAlternateDirectories(gdbWidget->sourceAlternateDirectories()); dlg.setAssemblyShowAssemblyTabOnStartup(gdbWidget->assemblyShowAssemblyTabOnStartup()); dlg.setAssemblyKeepAssemblyTabOnTop(gdbWidget->assemblyKeepAssemblyTabOnTop()); + dlg.setAssemblyRegisterFormat(gdbWidget->assemblyRegisterFormat()); dlg.setSeerConsoleMode(gdbWidget->consoleMode()); dlg.setSeerConsoleScrollLines(gdbWidget->consoleScrollLines()); dlg.setSeerRememberManualCommandCount(gdbWidget->rememberManualCommandCount()); @@ -399,6 +400,7 @@ void SeerMainWindow::handleSettingsConfiguration () { gdbWidget->setSourceAlternateDirectories(dlg.sourceAlternateDirectories()); gdbWidget->setAssemblyShowAssemblyTabOnStartup(dlg.assemblyShowAssemblyTabOnStartup()); gdbWidget->setAssemblyKeepAssemblyTabOnTop(dlg.assemblyKeepAssemblyTabOnTop()); + gdbWidget->setAssemblyRegisterFormat(dlg.assemblyRegisterFormat()); gdbWidget->setConsoleMode(dlg.seerConsoleMode()); gdbWidget->setConsoleScrollLines(dlg.seerConsoleScrollLines()); gdbWidget->setRememberManualCommandCount(dlg.seerRememberManualCommandCount()); diff --git a/src/SeerRegisterValuesBrowserWidget.cpp b/src/SeerRegisterValuesBrowserWidget.cpp index d05bd34..580521e 100644 --- a/src/SeerRegisterValuesBrowserWidget.cpp +++ b/src/SeerRegisterValuesBrowserWidget.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include SeerRegisterValuesBrowserWidget::SeerRegisterValuesBrowserWidget (QWidget* parent) : QWidget(parent) { @@ -31,14 +30,6 @@ SeerRegisterValuesBrowserWidget::SeerRegisterValuesBrowserWidget (QWidget* paren registerFormatComboBox->addItem("Decimal", QVariant("d")); registerFormatComboBox->addItem("Raw", QVariant("r")); - // Restore the new fmt setting. - QSettings settings; - - settings.beginGroup("registerbrowser"); { - QString fmt = settings.value("defaultformat", "Natural").toString(); - registerFormatComboBox->setCurrentText(fmt); - } settings.endGroup(); - // Create edit delegate. MyEditingDelegate* editDelegate = new MyEditingDelegate(this); @@ -57,6 +48,11 @@ SeerRegisterValuesBrowserWidget::SeerRegisterValuesBrowserWidget (QWidget* paren SeerRegisterValuesBrowserWidget::~SeerRegisterValuesBrowserWidget () { } +void SeerRegisterValuesBrowserWidget::setRegisterFormat (QString fmt) { + + registerFormatComboBox->setCurrentText(fmt); +} + void SeerRegisterValuesBrowserWidget::handleText (const QString& text) { // Don't do any work if the widget is hidden. @@ -280,13 +276,6 @@ void SeerRegisterValuesBrowserWidget::handleFormatChanged (int index) { // Refresh the register values. emit refreshRegisterValues(fmt); - - // Save the new fmt setting. - QSettings settings; - - settings.beginGroup("registerbrowser"); { - settings.setValue("defaultformat", registerFormatComboBox->itemText(index)); - } settings.endGroup(); } void SeerRegisterValuesBrowserWidget::showEvent (QShowEvent* event) { diff --git a/src/SeerRegisterValuesBrowserWidget.h b/src/SeerRegisterValuesBrowserWidget.h index 3269669..3382391 100644 --- a/src/SeerRegisterValuesBrowserWidget.h +++ b/src/SeerRegisterValuesBrowserWidget.h @@ -47,6 +47,9 @@ class SeerRegisterValuesBrowserWidget : public QWidget, protected Ui::SeerRegist explicit SeerRegisterValuesBrowserWidget (QWidget* parent = 0); ~SeerRegisterValuesBrowserWidget (); + public: + void setRegisterFormat (QString fmt); + public slots: void handleText (const QString& text); void handleStoppingPointReached ();