diff --git a/src/SeerMainWindow.cpp b/src/SeerMainWindow.cpp index 7093e54..e9bfa4d 100644 --- a/src/SeerMainWindow.cpp +++ b/src/SeerMainWindow.cpp @@ -341,6 +341,7 @@ void SeerMainWindow::handleSettingsConfiguration () { dlg.setSourceAlternateDirectories(gdbWidget->sourceAlternateDirectories()); dlg.setSeerConsoleMode(gdbWidget->consoleMode()); dlg.setSeerRememberManualCommandCount(gdbWidget->rememberManualCommandCount()); + dlg.setKeySettings(keySettings()); int ret = dlg.exec(); @@ -372,6 +373,7 @@ void SeerMainWindow::handleSettingsConfiguration () { // Reset the dprintf, in case it was changed. gdbWidget->resetDprintf(); + // Set the key shortcuts. setKeySettings(dlg.keySettings()); } @@ -681,6 +683,24 @@ void SeerMainWindow::writeConfigSettings () { settings.beginGroup("manualgdbcommands"); { settings.setValue("remembercount", gdbWidget->rememberManualCommandCount()); } settings.endGroup(); + + settings.beginWriteArray("shortcuts"); { + + SeerKeySettings keysettings = keySettings(); + QStringList keys = keysettings.keys(); + + for (int i=0; isetRememberManualCommandCount(settings.value("remembercount", 10).toInt()); } settings.endGroup(); + + int size = settings.beginReadArray("shortcuts"); { + + SeerKeySettings keysettings; + + for (int i = 0; i < size; ++i) { + + settings.setArrayIndex(i); + + QString name = settings.value("name").toString(); + QKeySequence key = QKeySequence::fromString(settings.value("key").toString()); + QString help = settings.value("help").toString(); + + keysettings.add(name, SeerKeySetting(name, key, help)); + } + + setKeySettings(keysettings); + + } settings.endArray(); } void SeerMainWindow::resizeEvent (QResizeEvent* event) {