using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using RomCheater.Logging; namespace RomCheater { public partial class RomCheaterConfigDialog : Form { public RomCheaterConfigDialog() { InitializeComponent(); } private void RomCheaterConfigDialog_Load(object sender, EventArgs e) { logger.Info.WriteLine("Loading user settings..."); load_loggerflags(); logger.Info.WriteLine("Loaded user settings."); } private void load_loggerflags() { logger.Debug.WriteLine("Loading logger flags..."); loggerflags logflags = (loggerflags)Logging.Properties.Settings.Default.LoggingFlags; foreach (loggerflags flags in Enum.GetValues(typeof(loggerflags))) { if (flags == loggerflags.ALL || flags == loggerflags.NONE || flags == loggerflags.DEFAULT) continue; string name = flags.ToString(); int value = (int)flags; CheckBox chkloggerflags = new CheckBox(); chkloggerflags.Name = name; chkloggerflags.Text = name; chkloggerflags.Tag = value; grpLoggingFlags_flow.Controls.Add(chkloggerflags); logger.Debug.WriteLine("\tAdding logger flag: {0} value: 0x{1:x4}", name, value); if (logflags.HasFlag((loggerflags)value)) { chkloggerflags.Checked = true; logger.Debug.WriteLine("\tTurning on logger flag: {0} value: 0x{1:x4}", name, value); } } grpLoggingFlags.AutoSize = true; grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; logger.Debug.WriteLine("Loaded logger flags."); } private void btnSave_Click(object sender, EventArgs e) { logger.Info.WriteLine("Saving user settings..."); SaveSettings(); this.Close(); } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } private void SaveSettings() { SaveLoggingFlags(); RomCheater.Properties.Settings.Default.Save(); Logging.Properties.Settings.Default.Save(); logger.Info.WriteLine("Saved user settings."); } private void SaveLoggingFlags() { logger.Debug.WriteLine("Saving Logger flags..."); loggerflags logflags = loggerflags.NONE; foreach (CheckBox cb in grpLoggingFlags_flow.Controls) { if (!cb.Checked) continue; int value = Convert.ToInt32(cb.Tag); logflags = logflags | (loggerflags)value; logger.Debug.WriteLine("\tAdding flag: {0} value: 0x{1:x4} LoggingFlags=0x{2:x4}", cb.Text, value, (int)logflags); } Logging.Properties.Settings.Default.LoggingFlags = (int)logflags; logger.Debug.WriteLine("Saved Logger flags."); } } }