| 169 | } |
| 170 | |
| 171 | void DebugAnalysisSettingsWidget::parseSettingsFromWidgets(Pcsx2Config::DebugAnalysisOptions& output) |
| 172 | { |
| 173 | output.AutomaticallySelectSymbolsToClear = m_ui.automaticallyClearSymbols->isChecked(); |
| 174 | |
| 175 | for (const auto& [name, temp] : m_symbol_sources) |
| 176 | { |
| 177 | DebugSymbolSource& source = output.SymbolSources.emplace_back(); |
| 178 | source.Name = name; |
| 179 | source.ClearDuringAnalysis = temp.check_box->isChecked(); |
| 180 | } |
| 181 | |
| 182 | output.ImportSymbolsFromELF = m_ui.importFromElf->isChecked(); |
| 183 | output.ImportSymFileFromDefaultLocation = m_ui.importSymFileFromDefaultLocation->isChecked(); |
| 184 | output.DemangleSymbols = m_ui.demangleSymbols->isChecked(); |
| 185 | output.DemangleParameters = m_ui.demangleParameters->isChecked(); |
| 186 | |
| 187 | for (int i = 0; i < m_symbol_file_model->rowCount(); i++) |
| 188 | { |
| 189 | DebugExtraSymbolFile& file = output.ExtraSymbolFiles.emplace_back(); |
| 190 | |
| 191 | file.Path = m_symbol_file_model->item(i, PATH_COLUMN)->text().toStdString(); |
| 192 | file.BaseAddress = m_symbol_file_model->item(i, BASE_ADDRESS_COLUMN)->text().toStdString(); |
| 193 | file.Condition = m_symbol_file_model->item(i, CONDITION_COLUMN)->text().toStdString(); |
| 194 | } |
| 195 | |
| 196 | output.FunctionScanMode = static_cast<DebugFunctionScanMode>(m_ui.functionScanMode->currentIndex()); |
| 197 | output.CustomFunctionScanRange = m_ui.customAddressRange->isChecked(); |
| 198 | output.FunctionScanStartAddress = m_ui.addressRangeStart->text().toStdString(); |
| 199 | output.FunctionScanEndAddress = m_ui.addressRangeEnd->text().toStdString(); |
| 200 | } |
| 201 | |
| 202 | void DebugAnalysisSettingsWidget::setupSymbolSourceGrid() |
| 203 | { |