UI and Config support for dec/hex display option for Offsets or Sizes

Used when fields are marked as being an Offset or Size
Include simple latch to trigger a UI refresh when closing the settings dialog.
Currently only connected to if the Offset/Size format option is altered
This commit is contained in:
Jake Turner
2023-11-09 10:37:34 +00:00
parent dc76459c65
commit 6ce881d5da
10 changed files with 166 additions and 19 deletions
@@ -146,6 +146,11 @@ SettingsDialog::SettingsDialog(ICaptureContext &ctx, QWidget *parent)
ui->EventBrowser_TimeUnit->addItem(UnitSuffix((TimeUnit)i));
}
for(int i = 0; i < (int)OffsetSizeDisplayMode::Count; i++)
{
ui->Formatter_OffsetSizeDisplayMode->addItem((ToStr((OffsetSizeDisplayMode)i)));
}
ui->pages->clearSelection();
ui->pages->item(0)->setSelected(true);
ui->tabWidget->setCurrentIndex(0);
@@ -294,6 +299,8 @@ SettingsDialog::SettingsDialog(ICaptureContext &ctx, QWidget *parent)
ui->Formatter_MaxFigures->setValue(m_Ctx.Config().Formatter_MaxFigures);
ui->Formatter_NegExp->setValue(m_Ctx.Config().Formatter_NegExp);
ui->Formatter_PosExp->setValue(m_Ctx.Config().Formatter_PosExp);
ui->Formatter_OffsetSizeDisplayMode->setCurrentIndex(
(int)m_Ctx.Config().Formatter_OffsetSizeDisplayMode);
if(!RENDERDOC_CanGlobalHook())
{
@@ -331,6 +338,9 @@ SettingsDialog::~SettingsDialog()
m_Ctx.Config().DefaultReplayOptions = m_ReplayOptions->options();
m_Ctx.Config().Save();
if(m_NeedRefresh)
m_Ctx.RefreshStatus();
delete ui;
}
@@ -439,6 +449,22 @@ void SettingsDialog::formatter_valueChanged(int val)
m_Ctx.Config().Save();
}
void SettingsDialog::on_Formatter_OffsetSizeDisplayMode_currentIndexChanged(int index)
{
if(m_Init)
return;
if(index < 0 || index >= (int)OffsetSizeDisplayMode::Count)
return;
m_Ctx.Config().Formatter_OffsetSizeDisplayMode =
(OffsetSizeDisplayMode)(ui->Formatter_OffsetSizeDisplayMode->currentIndex());
m_Ctx.Config().SetupFormatting();
m_Ctx.Config().Save();
m_NeedRefresh = true;
}
void SettingsDialog::on_tempDirectory_textEdited(const QString &dir)
{
if(QDir(dir).exists())