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) { 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); loggerflags logflags = (loggerflags)Logging.Properties.Settings.Default.LoggingFlags; if (logflags.HasFlag((loggerflags)value)) { chkloggerflags.Checked = true; } } grpLoggingFlags.AutoSize = true; grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; } private void btnSave_Click(object sender, EventArgs e) { 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(); } private void SaveLoggingFlags() { 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; } Logging.Properties.Settings.Default.LoggingFlags = (int)logflags; } } }