Add an option to choose the default save folder for captures. Refs #335

This commit is contained in:
baldurk
2016-08-24 15:53:52 +02:00
parent 3d6214622b
commit 3e5d55d1d6
7 changed files with 317 additions and 109 deletions
+89 -5
View File
@@ -58,6 +58,9 @@ namespace renderdocui.Windows.Dialogs
pagesTree.EndUpdate();
pagesTree.FocusedNode = pagesTree.Nodes[0];
saveDirectory.Text = m_Core.Config.DefaultCaptureSaveDirectory;
tempDirectory.Text = m_Core.Config.TemporaryCaptureDirectory;
TextureViewer_ResetRange.Checked = m_Core.Config.TextureViewer_ResetRange;
TextureViewer_PerTexSettings.Checked = m_Core.Config.TextureViewer_PerTexSettings;
ShaderViewer_FriendlyNaming.Checked = m_Core.Config.ShaderViewer_FriendlyNaming;
@@ -218,14 +221,36 @@ namespace renderdocui.Windows.Dialogs
m_Core.Config.Serialize(Core.ConfigFilename);
}
private void browseCaptureDirectory_Click(object sender, EventArgs e)
private void tempDirectory_TextChanged(object sender, EventArgs e)
{
try
{
if (Directory.Exists(m_Core.Config.CaptureSavePath))
browserCaptureDialog.SelectedPath = m_Core.Config.CaptureSavePath;
if (Directory.Exists(tempDirectory.Text))
m_Core.Config.TemporaryCaptureDirectory = tempDirectory.Text;
else
browserCaptureDialog.SelectedPath = Path.GetTempPath();
m_Core.Config.TemporaryCaptureDirectory = "";
m_Core.Config.Serialize(Core.ConfigFilename);
}
catch (Exception)
{
}
}
private void browseTempCaptureDirectory_Click(object sender, EventArgs e)
{
try
{
try
{
if (Directory.Exists(m_Core.Config.TemporaryCaptureDirectory))
browserCaptureDialog.SelectedPath = m_Core.Config.TemporaryCaptureDirectory;
else
browserCaptureDialog.SelectedPath = Path.GetTempPath();
}
catch (Exception)
{
}
}
catch (ArgumentException)
{
@@ -236,7 +261,66 @@ namespace renderdocui.Windows.Dialogs
if (res == DialogResult.Yes || res == DialogResult.OK)
{
m_Core.Config.CaptureSavePath = browserCaptureDialog.SelectedPath;
try
{
m_Core.Config.TemporaryCaptureDirectory = browserCaptureDialog.SelectedPath;
m_Core.Config.Serialize(Core.ConfigFilename);
}
catch (Exception)
{
}
}
}
private void saveDirectory_TextChanged(object sender, EventArgs e)
{
try
{
if (Directory.Exists(saveDirectory.Text))
m_Core.Config.DefaultCaptureSaveDirectory = saveDirectory.Text;
m_Core.Config.Serialize(Core.ConfigFilename);
}
catch (Exception)
{
}
}
private void browseSaveCaptureDirectory_Click(object sender, EventArgs e)
{
try
{
try
{
if (Directory.Exists(m_Core.Config.DefaultCaptureSaveDirectory))
browserCaptureDialog.SelectedPath = m_Core.Config.DefaultCaptureSaveDirectory;
else
browserCaptureDialog.SelectedPath = "";
}
catch (Exception)
{
}
}
catch (ArgumentException)
{
// invalid path or similar
}
var res = browserCaptureDialog.ShowDialog();
if (res == DialogResult.Yes || res == DialogResult.OK)
{
try
{
m_Core.Config.DefaultCaptureSaveDirectory = browserCaptureDialog.SelectedPath;
saveDirectory.Text = browserCaptureDialog.SelectedPath;
m_Core.Config.Serialize(Core.ConfigFilename);
}
catch (Exception)
{
}
}
}