This repository has been archived on 2025-05-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
RomVault/ROMVault2/FrmSettings.cs

129 lines
5.0 KiB
C#

/******************************************************
* ROMVault2 is written by Gordon J. *
* Contact gordon@romvault.com *
* Copyright 2014 *
******************************************************/
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using ROMVault2.Properties;
using System.IO;
using ROMVault2.RvDB;
namespace ROMVault2
{
public partial class FrmSettings : Form
{
public delegate void UpdateDatsDelegate();
public event UpdateDatsDelegate UpdateDats;
public FrmSettings()
{
InitializeComponent();
cboScanLevel.Items.Clear();
cboScanLevel.Items.Add("Level1");
cboScanLevel.Items.Add("Level2");
cboScanLevel.Items.Add("Level3");
cboFixLevel.Items.Clear();
cboFixLevel.Items.Add("TorrentZip Level 1");
cboFixLevel.Items.Add("TorrentZip Level 2");
cboFixLevel.Items.Add("TorrentZip Level 3");
cboFixLevel.Items.Add("Level1");
cboFixLevel.Items.Add("Level2");
cboFixLevel.Items.Add("Level3");
cboFixLevel.Items.Add("Uncompressed");
}
private void FrmConfigLoad(object sender, EventArgs e)
{
lblDATRoot.Text = Settings.DatRoot;
cboScanLevel.SelectedIndex = (int)Settings.ScanLevel;
cboFixLevel.SelectedIndex = (int)Settings.FixLevel;
textBox1.Text = "";
for (int i = 0; i < Settings.IgnoreFiles.Count; i++)
textBox1.Text += Settings.IgnoreFiles[i] + Environment.NewLine;
chkDoubleCheckDelete.Checked = Settings.DoubleCheckDelete;
chkCacheSaveTimer.Checked = Settings.CacheSaveTimerEnabled;
upTime.Value = Settings.CacheSaveTimePeriod;
chkDebugLogs.Checked = Settings.DebugLogsEnabled;
}
private void BtnCancelClick(object sender, EventArgs e)
{
Close();
}
private void BtnOkClick(object sender, EventArgs e)
{
if (Settings.FixLevel != (eFixLevel)cboFixLevel.SelectedIndex)
{
if (Settings.FixLevel == eFixLevel.Uncompressed ||
(eFixLevel)cboFixLevel.SelectedIndex == eFixLevel.Uncompressed)
{
DialogResult dlg = MessageBox.Show("Changing from/to uncompressed requires the cache file to be deleted.\nDo you want to proceed?", "Settings", MessageBoxButtons.YesNoCancel);
if (dlg == DialogResult.Cancel)
Close();
if (dlg != DialogResult.Yes)
return;
File.Delete(Settings.CacheFile);
DB.Read(sender, new System.ComponentModel.DoWorkEventArgs(null));
Settings.FixLevel = (eFixLevel)cboFixLevel.SelectedIndex;
UpdateDats();
}
}
Settings.DatRoot = lblDATRoot.Text;
Settings.ScanLevel = (eScanLevel)cboScanLevel.SelectedIndex;
Settings.FixLevel = (eFixLevel)cboFixLevel.SelectedIndex;
string strtxt = textBox1.Text;
strtxt = strtxt.Replace("\r", "");
string[] strsplit = strtxt.Split('\n');
Settings.IgnoreFiles = new List<string>(strsplit);
for (int i = 0; i < Settings.IgnoreFiles.Count; i++)
{
Settings.IgnoreFiles[i] = Settings.IgnoreFiles[i].Trim();
if (string.IsNullOrEmpty(Settings.IgnoreFiles[i]))
{
Settings.IgnoreFiles.RemoveAt(i);
i--;
}
}
Settings.DoubleCheckDelete = chkDoubleCheckDelete.Checked;
Settings.DebugLogsEnabled = chkDebugLogs.Checked;
Settings.CacheSaveTimerEnabled = chkCacheSaveTimer.Checked;
Settings.CacheSaveTimePeriod = (int)upTime.Value;
Settings.WriteConfig();
Close();
}
private void BtnDatClick(object sender, EventArgs e)
{
FolderBrowserDialog browse = new FolderBrowserDialog
{
ShowNewFolderButton = true,
Description = Resources.FrmSettings_BtnDatClick_Please_select_a_folder_for_DAT_Root,
RootFolder = Environment.SpecialFolder.MyComputer,
SelectedPath = Settings.DatRoot
};
if (browse.ShowDialog() != DialogResult.OK) return;
lblDATRoot.Text = Utils.RelativePath.MakeRelative(AppDomain.CurrentDomain.BaseDirectory, browse.SelectedPath);
}
}
}