/[RomCheater]/trunk/RomCheater/RomCheaterConfigDialog.cs
ViewVC logotype

Diff of /trunk/RomCheater/RomCheaterConfigDialog.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 63 by william, Wed May 9 16:14:39 2012 UTC revision 86 by william, Wed May 9 19:41:06 2012 UTC
# Line 7  using System.Linq; Line 7  using System.Linq;
7  using System.Text;  using System.Text;
8  using System.Windows.Forms;  using System.Windows.Forms;
9  using RomCheater.Logging;  using RomCheater.Logging;
10    using RomCheater.PluginFramework.Core;
11    using RomCheater.PluginFramework.Interfaces;
12    
13  namespace RomCheater  namespace RomCheater
14  {  {
15      public partial class RomCheaterConfigDialog : Form      public partial class RomCheaterConfigDialog : Form
16      {      {
17            private PluginLoader loader = null;
18          public RomCheaterConfigDialog()          public RomCheaterConfigDialog()
19          {          {
20              InitializeComponent();              InitializeComponent();
21          }          }
22            public RomCheaterConfigDialog(PluginLoader loader) : this()
23            {
24                this.loader = loader;
25            }
26          private void RomCheaterConfigDialog_Load(object sender, EventArgs e)          private void RomCheaterConfigDialog_Load(object sender, EventArgs e)
27          {          {
28              foreach(loggerflags flags in Enum.GetValues(typeof(loggerflags)))              logger.Info.WriteLine("Loading user settings...");
29                load_loggerflags();
30                setup_plugin_entries();
31                logger.Info.WriteLine("Loaded user settings.");
32            }
33    
34            private void setup_plugin_entries()
35            {
36                foreach (IConfigPlugin c in loader.LoadedConfigPlugins) { comboConfigPlugins.Items.Add(string.Format("{0} [{1}]",c.Name, c.Id.ToString())); }
37                foreach (IInputPlugin c in loader.LoadedInputPlugins) { comboInputPlugins.Items.Add(string.Format("{0} [{1}]", c.Name, c.Id.ToString())); }
38                foreach (IWindowPlugin c in loader.LoadedWindowPlugins) { comboWindowPlugins.Items.Add(string.Format("{0} [{1}]", c.Name, c.Id.ToString())); }
39                if (loader.LoadedConfigPlugins.Count == 0) { comboConfigPlugins.Items.Add(string.Format("{0} [{1}]", "None", new Guid().ToString())); }
40                if (loader.LoadedInputPlugins.Count == 0) { comboInputPlugins.Items.Add(string.Format("{0} [{1}]", "None", new Guid().ToString())); }
41                if (loader.LoadedWindowPlugins.Count == 0) { comboWindowPlugins.Items.Add(string.Format("{0} [{1}]", "None", new Guid().ToString())); }
42    
43                comboConfigPlugins.SelectedIndex = 0;
44                comboInputPlugins.SelectedIndex = 0;
45                comboWindowPlugins.SelectedIndex = 0;
46    
47                // select each plugin base on the last plugin
48                foreach (string item in comboConfigPlugins.Items)
49                {
50                    if (item == RomCheater.Properties.Settings.Default.LastConfigPlugin)
51                    {
52                        logger.Debug.WriteLine("    loading LastConfigPlugin: {0}", RomCheater.Properties.Settings.Default.LastConfigPlugin);
53                        comboConfigPlugins.SelectedIndex = comboConfigPlugins.Items.IndexOf(item);
54                        break;
55                    }
56                }
57                foreach (string item in comboInputPlugins.Items)
58                {
59                    if (item == RomCheater.Properties.Settings.Default.LastInputPlugin)
60                    {
61                        logger.Debug.WriteLine("    loading LastInputPlugin: {0}", RomCheater.Properties.Settings.Default.LastInputPlugin);
62                        comboInputPlugins.SelectedIndex = comboInputPlugins.Items.IndexOf(item);
63                        break;
64                    }
65                }
66                foreach (string item in comboWindowPlugins.Items)
67                {
68                    if (item == RomCheater.Properties.Settings.Default.LastWindowPlugin)
69                    {
70                        logger.Debug.WriteLine("    loading LastWindowPlugin: {0}", RomCheater.Properties.Settings.Default.LastWindowPlugin);
71                        comboWindowPlugins.SelectedIndex = comboWindowPlugins.Items.IndexOf(item);
72                        break;
73                    }
74                }
75    
76            }
77    
78            private void load_loggerflags()
79            {
80                logger.Debug.WriteLine("Loading logger flags...");
81                loggerflags logflags = (loggerflags)Logging.Properties.Settings.Default.LoggingFlags;
82                foreach (loggerflags flags in Enum.GetValues(typeof(loggerflags)))
83              {              {
84                  if (flags == loggerflags.ALL ||                  if (flags == loggerflags.ALL ||
85                      flags == loggerflags.NONE ||                      flags == loggerflags.NONE ||
# Line 34  namespace RomCheater Line 94  namespace RomCheater
94                  chkloggerflags.Text = name;                  chkloggerflags.Text = name;
95                  chkloggerflags.Tag = value;                  chkloggerflags.Tag = value;
96                  grpLoggingFlags_flow.Controls.Add(chkloggerflags);                  grpLoggingFlags_flow.Controls.Add(chkloggerflags);
97                  loggerflags logflags = (loggerflags)Logging.Properties.Settings.Default.LoggingFlags;                  logger.Debug.WriteLine("\tAdding logger flag: {0} value: 0x{1:x4}", name, value);
98    
99                  if (logflags.HasFlag((loggerflags)value))                  if (logflags.HasFlag((loggerflags)value))
100                  {                  {
101                      chkloggerflags.Checked = true;                      chkloggerflags.Checked = true;
102                        logger.Debug.WriteLine("\tTurning on logger flag: {0} value: 0x{1:x4}", name, value);
103                  }                  }
104              }              }
105              grpLoggingFlags.AutoSize = true;              grpLoggingFlags.AutoSize = true;
106              grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;              grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
107                logger.Debug.WriteLine("Loaded logger flags.");
108          }          }
   
109          private void btnSave_Click(object sender, EventArgs e)          private void btnSave_Click(object sender, EventArgs e)
110          {          {
111                logger.Info.WriteLine("Saving user settings...");
112              SaveSettings();              SaveSettings();
113              this.Close();              this.Close();
114          }          }
115          private void btnCancel_Click(object sender, EventArgs e)          private void btnCancel_Click(object sender, EventArgs e)
116          {          {
117              this.Close();              this.Close();
118                object c;
119          }          }
   
120          private void SaveSettings()          private void SaveSettings()
121          {          {
122              SaveLoggingFlags();              SaveLoggingFlags();
123                SaveSelectedPlugins();
124              RomCheater.Properties.Settings.Default.Save();              RomCheater.Properties.Settings.Default.Save();
125              Logging.Properties.Settings.Default.Save();              Logging.Properties.Settings.Default.Save();
126                logger.Info.WriteLine("Saved user settings.");
127            }
128            private void SaveSelectedPlugins()
129            {
130                logger.Debug.WriteLine("    Setting LastConfigPlugin to {0}", comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString());
131                RomCheater.Properties.Settings.Default.LastConfigPlugin = comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString();
132                logger.Debug.WriteLine("    Setting LastInputPlugin to {0}", comboInputPlugins.Items[comboConfigPlugins.SelectedIndex].ToString());
133                RomCheater.Properties.Settings.Default.LastInputPlugin = comboInputPlugins.Items[comboConfigPlugins.SelectedIndex].ToString();
134                logger.Debug.WriteLine("    Setting LastWindowPlugin to {0}", comboWindowPlugins.Items[comboConfigPlugins.SelectedIndex].ToString());
135                RomCheater.Properties.Settings.Default.LastWindowPlugin = comboWindowPlugins.Items[comboConfigPlugins.SelectedIndex].ToString();
136          }          }
137          private void SaveLoggingFlags()          private void SaveLoggingFlags()
138          {          {
139                logger.Debug.WriteLine("Saving Logger flags...");
140              loggerflags logflags = loggerflags.NONE;              loggerflags logflags = loggerflags.NONE;
141              foreach (CheckBox cb in grpLoggingFlags_flow.Controls)              foreach (CheckBox cb in grpLoggingFlags_flow.Controls)
142              {              {
143                  if (!cb.Checked) continue;                  if (!cb.Checked) continue;
144                  int value = Convert.ToInt32(cb.Tag);                  int value = Convert.ToInt32(cb.Tag);                
145                  logflags = logflags | (loggerflags)value;                  logflags = logflags | (loggerflags)value;
146                    logger.Debug.WriteLine("\tAdding flag: {0} value: 0x{1:x4} LoggingFlags=0x{2:x4}", cb.Text, value, (int)logflags);                
147              }              }
148              Logging.Properties.Settings.Default.LoggingFlags = (int)logflags;              Logging.Properties.Settings.Default.LoggingFlags = (int)logflags;
149                logger.Debug.WriteLine("Saved Logger flags.");
150          }          }
151      }      }
152  }  }

Legend:
Removed from v.63  
changed lines
  Added in v.86

  ViewVC Help
Powered by ViewVC 1.1.22