mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-26 08:26:50 +00:00
Access CaptureContext & RenderManager by reference, not pointer
* Neither of these can or should be NULL so enforce it explicitly.
This commit is contained in:
@@ -30,11 +30,9 @@
|
||||
#include "CaptureDialog.h"
|
||||
#include "ui_SettingsDialog.h"
|
||||
|
||||
SettingsDialog::SettingsDialog(CaptureContext *ctx, QWidget *parent)
|
||||
: QDialog(parent), ui(new Ui::SettingsDialog)
|
||||
SettingsDialog::SettingsDialog(CaptureContext &ctx, QWidget *parent)
|
||||
: QDialog(parent), ui(new Ui::SettingsDialog), m_Ctx(ctx)
|
||||
{
|
||||
m_Ctx = ctx;
|
||||
|
||||
ui->setupUi(this);
|
||||
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
@@ -55,41 +53,41 @@ SettingsDialog::SettingsDialog(CaptureContext *ctx, QWidget *parent)
|
||||
ui->pages->setItemSelected(ui->pages->item(0), true);
|
||||
ui->tabWidget->setCurrentIndex(0);
|
||||
|
||||
ui->saveDirectory->setText(m_Ctx->Config.DefaultCaptureSaveDirectory);
|
||||
ui->tempDirectory->setText(m_Ctx->Config.TemporaryCaptureDirectory);
|
||||
ui->saveDirectory->setText(m_Ctx.Config.DefaultCaptureSaveDirectory);
|
||||
ui->tempDirectory->setText(m_Ctx.Config.TemporaryCaptureDirectory);
|
||||
|
||||
// TODO external disassembler
|
||||
/*
|
||||
ui->ExternalDisassemblerEnabled->setChecked(m_Ctx->Config.ExternalDisassemblerEnabled);
|
||||
ui->externalDisassemblerArgs->setText(m_Ctx->Config.GetDefaultExternalDisassembler().args);
|
||||
ui->externalDisassemblePath->setText(m_Ctx->Config.GetDefaultExternalDisassembler().executable);
|
||||
ui->ExternalDisassemblerEnabled->setChecked(m_Ctx.Config.ExternalDisassemblerEnabled);
|
||||
ui->externalDisassemblerArgs->setText(m_Ctx.Config.GetDefaultExternalDisassembler().args);
|
||||
ui->externalDisassemblePath->setText(m_Ctx.Config.GetDefaultExternalDisassembler().executable);
|
||||
*/
|
||||
ui->Android_AdbExecutablePath->setText(m_Ctx->Config.Android_AdbExecutablePath);
|
||||
ui->Android_MaxConnectTimeout->setValue(m_Ctx->Config.Android_MaxConnectTimeout);
|
||||
ui->Android_AdbExecutablePath->setText(m_Ctx.Config.Android_AdbExecutablePath);
|
||||
ui->Android_MaxConnectTimeout->setValue(m_Ctx.Config.Android_MaxConnectTimeout);
|
||||
|
||||
ui->TextureViewer_ResetRange->setChecked(m_Ctx->Config.TextureViewer_ResetRange);
|
||||
ui->TextureViewer_PerTexSettings->setChecked(m_Ctx->Config.TextureViewer_PerTexSettings);
|
||||
ui->ShaderViewer_FriendlyNaming->setChecked(m_Ctx->Config.ShaderViewer_FriendlyNaming);
|
||||
ui->CheckUpdate_AllowChecks->setChecked(m_Ctx->Config.CheckUpdate_AllowChecks);
|
||||
ui->Font_PreferMonospaced->setChecked(m_Ctx->Config.Font_PreferMonospaced);
|
||||
ui->TextureViewer_ResetRange->setChecked(m_Ctx.Config.TextureViewer_ResetRange);
|
||||
ui->TextureViewer_PerTexSettings->setChecked(m_Ctx.Config.TextureViewer_PerTexSettings);
|
||||
ui->ShaderViewer_FriendlyNaming->setChecked(m_Ctx.Config.ShaderViewer_FriendlyNaming);
|
||||
ui->CheckUpdate_AllowChecks->setChecked(m_Ctx.Config.CheckUpdate_AllowChecks);
|
||||
ui->Font_PreferMonospaced->setChecked(m_Ctx.Config.Font_PreferMonospaced);
|
||||
|
||||
ui->AlwaysReplayLocally->setChecked(m_Ctx->Config.AlwaysReplayLocally);
|
||||
ui->AlwaysReplayLocally->setChecked(m_Ctx.Config.AlwaysReplayLocally);
|
||||
|
||||
ui->AllowGlobalHook->setChecked(m_Ctx->Config.AllowGlobalHook);
|
||||
ui->AllowGlobalHook->setChecked(m_Ctx.Config.AllowGlobalHook);
|
||||
|
||||
ui->EventBrowser_TimeUnit->setCurrentIndex((int)m_Ctx->Config.EventBrowser_TimeUnit);
|
||||
ui->EventBrowser_HideEmpty->setChecked(m_Ctx->Config.EventBrowser_HideEmpty);
|
||||
ui->EventBrowser_HideAPICalls->setChecked(m_Ctx->Config.EventBrowser_HideAPICalls);
|
||||
ui->EventBrowser_ApplyColours->setChecked(m_Ctx->Config.EventBrowser_ApplyColours);
|
||||
ui->EventBrowser_ColourEventRow->setChecked(m_Ctx->Config.EventBrowser_ColourEventRow);
|
||||
ui->EventBrowser_TimeUnit->setCurrentIndex((int)m_Ctx.Config.EventBrowser_TimeUnit);
|
||||
ui->EventBrowser_HideEmpty->setChecked(m_Ctx.Config.EventBrowser_HideEmpty);
|
||||
ui->EventBrowser_HideAPICalls->setChecked(m_Ctx.Config.EventBrowser_HideAPICalls);
|
||||
ui->EventBrowser_ApplyColours->setChecked(m_Ctx.Config.EventBrowser_ApplyColours);
|
||||
ui->EventBrowser_ColourEventRow->setChecked(m_Ctx.Config.EventBrowser_ColourEventRow);
|
||||
|
||||
// disable sub-checkbox
|
||||
ui->EventBrowser_ColourEventRow->setEnabled(ui->EventBrowser_ApplyColours->isChecked());
|
||||
|
||||
ui->Formatter_MinFigures->setValue(m_Ctx->Config.Formatter_MinFigures);
|
||||
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_MinFigures->setValue(m_Ctx.Config.Formatter_MinFigures);
|
||||
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);
|
||||
|
||||
m_Init = false;
|
||||
|
||||
@@ -131,76 +129,76 @@ void SettingsDialog::on_okButton_accepted()
|
||||
// general
|
||||
void SettingsDialog::formatter_valueChanged(int val)
|
||||
{
|
||||
m_Ctx->Config.Formatter_MinFigures = ui->Formatter_MinFigures->value();
|
||||
m_Ctx->Config.Formatter_MaxFigures = ui->Formatter_MaxFigures->value();
|
||||
m_Ctx->Config.Formatter_NegExp = ui->Formatter_NegExp->value();
|
||||
m_Ctx->Config.Formatter_PosExp = ui->Formatter_PosExp->value();
|
||||
m_Ctx.Config.Formatter_MinFigures = ui->Formatter_MinFigures->value();
|
||||
m_Ctx.Config.Formatter_MaxFigures = ui->Formatter_MaxFigures->value();
|
||||
m_Ctx.Config.Formatter_NegExp = ui->Formatter_NegExp->value();
|
||||
m_Ctx.Config.Formatter_PosExp = ui->Formatter_PosExp->value();
|
||||
|
||||
m_Ctx->Config.SetupFormatting();
|
||||
m_Ctx.Config.SetupFormatting();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_tempDirectory_textEdited(const QString &dir)
|
||||
{
|
||||
if(QDir(dir).exists())
|
||||
m_Ctx->Config.TemporaryCaptureDirectory = dir;
|
||||
m_Ctx.Config.TemporaryCaptureDirectory = dir;
|
||||
else
|
||||
m_Ctx->Config.TemporaryCaptureDirectory = "";
|
||||
m_Ctx.Config.TemporaryCaptureDirectory = "";
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_saveDirectory_textEdited(const QString &dir)
|
||||
{
|
||||
if(QDir(dir).exists() || dir == "")
|
||||
m_Ctx->Config.DefaultCaptureSaveDirectory = dir;
|
||||
m_Ctx.Config.DefaultCaptureSaveDirectory = dir;
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_browseSaveCaptureDirectory_clicked()
|
||||
{
|
||||
QString dir = RDDialog::getExistingDirectory(this, "Choose default directory for saving captures",
|
||||
m_Ctx->Config.DefaultCaptureSaveDirectory);
|
||||
m_Ctx.Config.DefaultCaptureSaveDirectory);
|
||||
|
||||
if(dir != "")
|
||||
m_Ctx->Config.DefaultCaptureSaveDirectory = dir;
|
||||
m_Ctx.Config.DefaultCaptureSaveDirectory = dir;
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_AllowGlobalHook_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.AllowGlobalHook = ui->AllowGlobalHook->isChecked();
|
||||
m_Ctx.Config.AllowGlobalHook = ui->AllowGlobalHook->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
|
||||
if(m_Ctx->hasCaptureDialog())
|
||||
m_Ctx->captureDialog()->updateGlobalHook();
|
||||
if(m_Ctx.hasCaptureDialog())
|
||||
m_Ctx.captureDialog()->updateGlobalHook();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_CheckUpdate_AllowChecks_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.CheckUpdate_AllowChecks = ui->CheckUpdate_AllowChecks->isChecked();
|
||||
m_Ctx.Config.CheckUpdate_AllowChecks = ui->CheckUpdate_AllowChecks->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_Font_PreferMonospaced_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.Font_PreferMonospaced = ui->Font_PreferMonospaced->isChecked();
|
||||
m_Ctx.Config.Font_PreferMonospaced = ui->Font_PreferMonospaced->isChecked();
|
||||
|
||||
m_Ctx->Config.SetupFormatting();
|
||||
m_Ctx.Config.SetupFormatting();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_AlwaysReplayLocally_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.AlwaysReplayLocally = ui->AlwaysReplayLocally->isChecked();
|
||||
m_Ctx.Config.AlwaysReplayLocally = ui->AlwaysReplayLocally->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
// core
|
||||
@@ -209,44 +207,44 @@ void SettingsDialog::on_chooseSearchPaths_clicked()
|
||||
OrderedListEditor listEd(tr("Shader debug info search paths"), tr("Search Path"),
|
||||
BrowseMode::Folder, this);
|
||||
|
||||
listEd.setItems(m_Ctx->Config.GetConfigSetting("shader.debug.searchPaths")
|
||||
listEd.setItems(m_Ctx.Config.GetConfigSetting("shader.debug.searchPaths")
|
||||
.split(QChar(';'), QString::SkipEmptyParts));
|
||||
|
||||
int res = RDDialog::show(&listEd);
|
||||
|
||||
if(res)
|
||||
m_Ctx->Config.SetConfigSetting("shader.debug.searchPaths", listEd.getItems().join(QChar(';')));
|
||||
m_Ctx.Config.SetConfigSetting("shader.debug.searchPaths", listEd.getItems().join(QChar(';')));
|
||||
}
|
||||
|
||||
// texture viewer
|
||||
void SettingsDialog::on_TextureViewer_PerTexSettings_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.TextureViewer_PerTexSettings = ui->TextureViewer_PerTexSettings->isChecked();
|
||||
m_Ctx.Config.TextureViewer_PerTexSettings = ui->TextureViewer_PerTexSettings->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_TextureViewer_ResetRange_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.TextureViewer_ResetRange = ui->TextureViewer_ResetRange->isChecked();
|
||||
m_Ctx.Config.TextureViewer_ResetRange = ui->TextureViewer_ResetRange->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
// shader viewer
|
||||
void SettingsDialog::on_ShaderViewer_FriendlyNaming_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.ShaderViewer_FriendlyNaming = ui->ShaderViewer_FriendlyNaming->isChecked();
|
||||
m_Ctx.Config.ShaderViewer_FriendlyNaming = ui->ShaderViewer_FriendlyNaming->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_ExternalDisassemblerEnabled_toggled(bool checked)
|
||||
{
|
||||
// TODO external disassembler
|
||||
// m_Ctx->Config.ExternalDisassemblerEnabled = ui->ExternalDisassemblerEnabled->isChecked();
|
||||
// m_Ctx.Config.ExternalDisassemblerEnabled = ui->ExternalDisassemblerEnabled->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_browseExtDisasemble_clicked()
|
||||
@@ -258,14 +256,14 @@ void SettingsDialog::on_externalDisassemblePath_textEdited(const QString &disasm
|
||||
{
|
||||
// TODO external disassembler
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_externalDisassemblerArgs_textEdited(const QString &args)
|
||||
{
|
||||
// TODO external disassembler
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
// event browser
|
||||
@@ -274,75 +272,75 @@ void SettingsDialog::on_EventBrowser_TimeUnit_currentIndexChanged(int index)
|
||||
if(m_Init)
|
||||
return;
|
||||
|
||||
m_Ctx->Config.EventBrowser_TimeUnit =
|
||||
m_Ctx.Config.EventBrowser_TimeUnit =
|
||||
(PersistantConfig::TimeUnit)ui->EventBrowser_TimeUnit->currentIndex();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_EventBrowser_HideEmpty_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.EventBrowser_HideEmpty = ui->EventBrowser_HideEmpty->isChecked();
|
||||
m_Ctx.Config.EventBrowser_HideEmpty = ui->EventBrowser_HideEmpty->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_EventBrowser_HideAPICalls_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.EventBrowser_HideAPICalls = ui->EventBrowser_HideAPICalls->isChecked();
|
||||
m_Ctx.Config.EventBrowser_HideAPICalls = ui->EventBrowser_HideAPICalls->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_EventBrowser_ApplyColours_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.EventBrowser_ApplyColours = ui->EventBrowser_ApplyColours->isChecked();
|
||||
m_Ctx.Config.EventBrowser_ApplyColours = ui->EventBrowser_ApplyColours->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_EventBrowser_ColourEventRow_toggled(bool checked)
|
||||
{
|
||||
m_Ctx->Config.EventBrowser_ColourEventRow = ui->EventBrowser_ColourEventRow->isChecked();
|
||||
m_Ctx.Config.EventBrowser_ColourEventRow = ui->EventBrowser_ColourEventRow->isChecked();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
// android
|
||||
void SettingsDialog::on_browseTempCaptureDirectory_clicked()
|
||||
{
|
||||
QString dir = RDDialog::getExistingDirectory(this, "Choose directory for temporary captures",
|
||||
m_Ctx->Config.TemporaryCaptureDirectory);
|
||||
m_Ctx.Config.TemporaryCaptureDirectory);
|
||||
|
||||
if(dir != "")
|
||||
m_Ctx->Config.TemporaryCaptureDirectory = dir;
|
||||
m_Ctx.Config.TemporaryCaptureDirectory = dir;
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_browseAdbPath_clicked()
|
||||
{
|
||||
QString adb = RDDialog::getExecutableFileName(
|
||||
this, "Locate adb executable",
|
||||
QFileInfo(m_Ctx->Config.Android_AdbExecutablePath).absoluteDir().path());
|
||||
QFileInfo(m_Ctx.Config.Android_AdbExecutablePath).absoluteDir().path());
|
||||
|
||||
if(adb != "")
|
||||
m_Ctx->Config.Android_AdbExecutablePath = adb;
|
||||
m_Ctx.Config.Android_AdbExecutablePath = adb;
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_Android_MaxConnectTimeout_valueChanged(double timeout)
|
||||
{
|
||||
m_Ctx->Config.Android_MaxConnectTimeout = ui->Android_MaxConnectTimeout->value();
|
||||
m_Ctx.Config.Android_MaxConnectTimeout = ui->Android_MaxConnectTimeout->value();
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
void SettingsDialog::on_Android_AdbExecutablePath_textEdited(const QString &adb)
|
||||
{
|
||||
if(QFileInfo::exists(adb))
|
||||
m_Ctx->Config.Android_AdbExecutablePath = adb;
|
||||
m_Ctx.Config.Android_AdbExecutablePath = adb;
|
||||
|
||||
m_Ctx->Config.Save();
|
||||
m_Ctx.Config.Save();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user