/[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 64 by william, Wed May 9 16:35:07 2012 UTC revision 112 by william, Thu May 10 14:01:31 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              logger.Info.WriteLine("Loading user settings...");              logger.Info.WriteLine("Loading user settings...");
29              load_loggerflags();              load_loggerflags();
30                setup_plugin_entries();
31              logger.Info.WriteLine("Loaded user settings.");              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()          private void load_loggerflags()
79          {          {
80              logger.Debug.WriteLine("Loading logger flags...");              logger.Debug.WriteLine("Loading logger flags...");
81              loggerflags logflags = (loggerflags)Logging.Properties.Settings.Default.LoggingFlags;              loggerflags logflags = Logging.Properties.Settings.Default.LoggingFlags;
82              foreach (loggerflags flags in Enum.GetValues(typeof(loggerflags)))              foreach (loggerflags flags in loggerflags.GetValues())
83              {              {
84                  if (flags == loggerflags.ALL ||                  if (flags == loggerflags.ALL ||
85                      flags == loggerflags.NONE ||                      flags == loggerflags.NONE ||
# Line 34  namespace RomCheater Line 87  namespace RomCheater
87                      continue;                      continue;
88    
89                  string name = flags.ToString();                  string name = flags.ToString();
90                  int value = (int)flags;                  ushort value = (ushort)flags;
91    
92                  CheckBox chkloggerflags = new CheckBox();                  CheckBox chkloggerflags = new CheckBox();
93                    chkloggerflags.Font = this.Font;
94                  chkloggerflags.Name = name;                  chkloggerflags.Name = name;
95                  chkloggerflags.Text = name;                  chkloggerflags.Text = name;
96                  chkloggerflags.Tag = value;                  chkloggerflags.Tag = value;
97                    Graphics g = chkloggerflags.CreateGraphics();
98    
99                    Size size = g.MeasureString(chkloggerflags.Text, chkloggerflags.Font).ToSize();
100                    chkloggerflags.Width = size.Width + 25;
101    
102                  grpLoggingFlags_flow.Controls.Add(chkloggerflags);                  grpLoggingFlags_flow.Controls.Add(chkloggerflags);
103                  logger.Debug.WriteLine("\tAdding logger flag: {0} value: 0x{1:x4}", name, value);                  logger.Debug.WriteLine("\tAdding logger flag: {0} value: 0x{1:x4}", name, value);
104    
105                  if (logflags.HasFlag((loggerflags)value))                  if (logflags.HasFlag(value))
106                  {                  {
107                      chkloggerflags.Checked = true;                      chkloggerflags.Checked = true;
108                      logger.Debug.WriteLine("\tTurning on logger flag: {0} value: 0x{1:x4}", name, value);                      logger.Debug.WriteLine("\tTurning on logger flag: {0} value: 0x{1:x4}", name, value);
109                  }                  }
110              }              }
111              grpLoggingFlags.AutoSize = true;              //grpLoggingFlags.AutoSize = true;
112              grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;              //grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
113              logger.Debug.WriteLine("Loaded logger flags.");              logger.Debug.WriteLine("Loaded logger flags.");
114          }          }
115          private void btnSave_Click(object sender, EventArgs e)          private void btnSave_Click(object sender, EventArgs e)
# Line 66  namespace RomCheater Line 125  namespace RomCheater
125          private void SaveSettings()          private void SaveSettings()
126          {          {
127              SaveLoggingFlags();              SaveLoggingFlags();
128                SaveSelectedPlugins();
129              RomCheater.Properties.Settings.Default.Save();              RomCheater.Properties.Settings.Default.Save();
130              Logging.Properties.Settings.Default.Save();              Logging.Properties.Settings.Default.Save();
131              logger.Info.WriteLine("Saved user settings.");              logger.Info.WriteLine("Saved user settings.");
132          }          }
133            private void SaveSelectedPlugins()
134            {
135                logger.Debug.WriteLine("    Setting LastConfigPlugin to {0}", comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString());
136                RomCheater.Properties.Settings.Default.LastConfigPlugin = comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString();
137    
138                logger.Debug.WriteLine("    Setting LastInputPlugin to {0}", comboInputPlugins.Items[comboInputPlugins.SelectedIndex].ToString());
139                RomCheater.Properties.Settings.Default.LastInputPlugin = comboInputPlugins.Items[comboInputPlugins.SelectedIndex].ToString();
140    
141                logger.Debug.WriteLine("    Setting LastWindowPlugin to {0}", comboWindowPlugins.Items[comboWindowPlugins.SelectedIndex].ToString());
142                RomCheater.Properties.Settings.Default.LastWindowPlugin = comboWindowPlugins.Items[comboWindowPlugins.SelectedIndex].ToString();
143            }
144          private void SaveLoggingFlags()          private void SaveLoggingFlags()
145          {          {
146              logger.Debug.WriteLine("Saving Logger flags...");              logger.Debug.WriteLine("Saving Logger flags...");
# Line 77  namespace RomCheater Line 148  namespace RomCheater
148              foreach (CheckBox cb in grpLoggingFlags_flow.Controls)              foreach (CheckBox cb in grpLoggingFlags_flow.Controls)
149              {              {
150                  if (!cb.Checked) continue;                  if (!cb.Checked) continue;
151                  int value = Convert.ToInt32(cb.Tag);                                  ushort value = Convert.ToUInt16(cb.Tag);
152                  logflags = logflags | (loggerflags)value;                  logflags = (ushort)(logflags | value);
153                  logger.Debug.WriteLine("\tAdding flag: {0} value: 0x{1:x4} LoggingFlags=0x{2:x4}", cb.Text, value, (int)logflags);                                  logger.Debug.WriteLine("\tAdding flag: {0} value: 0x{1:x4} LoggingFlags=0x{2:x4}", cb.Text, value, (int)logflags);                
154              }              }
155              Logging.Properties.Settings.Default.LoggingFlags = (int)logflags;              Logging.Properties.Settings.Default.LoggingFlags = (ushort)logflags;
156              logger.Debug.WriteLine("Saved Logger flags.");              logger.Debug.WriteLine("Saved Logger flags.");
157          }          }
158      }      }

Legend:
Removed from v.64  
changed lines
  Added in v.112

  ViewVC Help
Powered by ViewVC 1.1.22