/[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 692 by william, Mon Jun 17 10:29:30 2013 UTC revision 817 by william, Tue Apr 15 18:02:07 2014 UTC
# Line 1  Line 1 
1  #region Logging Defines  //#region Logging Defines
2  // include this any class or method that required logging, and comment-out what is not needed  //// include this any class or method that required logging, and comment-out what is not needed
3    
4  #region Enabled logging levels  //#region Enabled logging levels
5  #define LOGGING_ENABLE_INFO  //#define LOGGING_ENABLE_INFO
6  #define LOGGING_ENABLE_WARN  //#define LOGGING_ENABLE_WARN
7  #define LOGGING_ENABLE_DEBUG  //#define LOGGING_ENABLE_DEBUG
8  #define LOGGING_ENABLE_VERBOSEDEBUG  //#define LOGGING_ENABLE_VERBOSEDEBUG
9  #define LOGGING_ENABLE_ERROR  //#define LOGGING_ENABLE_ERROR
10  #define LOGGING_ENABLE_VERBOSEERROR  //#define LOGGING_ENABLE_VERBOSEERROR
11  #define LOGGING_ENABLE_PROFILER  //#define LOGGING_ENABLE_PROFILER
12  #endregion  //#endregion
13  #endregion  //#endregion
14  //#define DISABLE_VERBOSE_DEBUG_MESSAGES_FOR_SPEED_BOOST //when defined, will not log verbose debug messages (without changeing logging flags)  //#define DISABLE_VERBOSE_DEBUG_MESSAGES_FOR_SPEED_BOOST //when defined, will not log verbose debug messages (without changeing logging flags)
15  using System;  using System;
16  using System.Collections.Generic;  using System.Collections.Generic;
# Line 23  using System.Windows.Forms; Line 23  using System.Windows.Forms;
23  using RomCheater.Logging;  using RomCheater.Logging;
24  using RomCheater.PluginFramework.Core;  using RomCheater.PluginFramework.Core;
25  using RomCheater.Core;  using RomCheater.Core;
26    using RomCheater.UserSettingsSupport;
27    using Enterprise.Logging;
28    
29    
30  namespace RomCheater  namespace RomCheater
# Line 33  namespace RomCheater Line 35  namespace RomCheater
35          private loggerflags lFlags;          private loggerflags lFlags;
36  #endif  #endif
37    
38            SettingSubscriber MainSettingsSubscriber;
39            SettingSubscriber LoggingettingsSubscriber;
40    
41          private PluginLoader loader = null;          private PluginLoader loader = null;
42          public RomCheaterConfigDialog()          public RomCheaterConfigDialog()
43          {          {
# Line 45  namespace RomCheater Line 50  namespace RomCheater
50              //    flags = (ushort)(lFlags.Value & ~loggerflags.VERBOSE_DEBUG.Value);              //    flags = (ushort)(lFlags.Value & ~loggerflags.VERBOSE_DEBUG.Value);
51              //    logger.SetLoggingFlags(flags);                              //    logger.SetLoggingFlags(flags);                
52              //}              //}
53                MainSettingsSubscriber = new SettingSubscriber();
54                LoggingettingsSubscriber = new SettingSubscriber();
55                MainSettingsSubscriber.AddSubscriber(this, RomCheater.Properties.Settings.Default);
56                LoggingettingsSubscriber.AddSubscriber(this, RomCheater.Logging.Properties.Settings.Default);
57          }          }
58          public RomCheaterConfigDialog(PluginLoader loader)          public RomCheaterConfigDialog(PluginLoader loader)
59              : this()              : this()
# Line 53  namespace RomCheater Line 62  namespace RomCheater
62          }          }
63          private void RomCheaterConfigDialog_Load(object sender, EventArgs e)          private void RomCheaterConfigDialog_Load(object sender, EventArgs e)
64          {          {
65              logger.Info.WriteLine("Loading user settings...");              gLog.Info.WriteLine("Loading user settings...");
66              load_loggerflags();              load_loggerflags();
67              setup_plugin_entries();              setup_plugin_entries();
68              logger.Info.WriteLine("Loaded user settings.");              gLog.Info.WriteLine("Loaded user settings.");
69          }          }
70    
71          private void setup_plugin_entries()          private void setup_plugin_entries()
# Line 77  namespace RomCheater Line 86  namespace RomCheater
86              {              {
87                  if (item == RomCheater.Properties.Settings.Default.LastConfigPlugin)                  if (item == RomCheater.Properties.Settings.Default.LastConfigPlugin)
88                  {                  {
89                      logger.VerboseDebug.WriteLine("    loading LastConfigPlugin: {0}", RomCheater.Properties.Settings.Default.LastConfigPlugin);                      gLog.Verbose.Debug.WriteLine("    loading LastConfigPlugin: {0}", MainSettingsSubscriber.GetValue("LastConfigPlugin"));
90                      comboConfigPlugins.SelectedIndex = comboConfigPlugins.Items.IndexOf(item);                      comboConfigPlugins.SelectedIndex = comboConfigPlugins.Items.IndexOf(item);
91                      break;                      break;
92                  }                  }
# Line 86  namespace RomCheater Line 95  namespace RomCheater
95              {              {
96                  if (item == RomCheater.Properties.Settings.Default.LastInputPlugin)                  if (item == RomCheater.Properties.Settings.Default.LastInputPlugin)
97                  {                  {
98                      logger.VerboseDebug.WriteLine("    loading LastInputPlugin: {0}", RomCheater.Properties.Settings.Default.LastInputPlugin);                      gLog.Verbose.Debug.WriteLine("    loading LastInputPlugin: {0}", MainSettingsSubscriber.GetValue("LastInputPlugin"));
99                      comboInputPlugins.SelectedIndex = comboInputPlugins.Items.IndexOf(item);                      comboInputPlugins.SelectedIndex = comboInputPlugins.Items.IndexOf(item);
100                      break;                      break;
101                  }                  }
# Line 95  namespace RomCheater Line 104  namespace RomCheater
104              {              {
105                  if (item == RomCheater.Properties.Settings.Default.LastWindowPlugin)                  if (item == RomCheater.Properties.Settings.Default.LastWindowPlugin)
106                  {                  {
107                      logger.VerboseDebug.WriteLine("    loading LastWindowPlugin: {0}", RomCheater.Properties.Settings.Default.LastWindowPlugin);                      gLog.Verbose.Debug.WriteLine("    loading LastWindowPlugin: {0}", MainSettingsSubscriber.GetValue("LastWindowPlugin"));
108                      comboWindowPlugins.SelectedIndex = comboWindowPlugins.Items.IndexOf(item);                      comboWindowPlugins.SelectedIndex = comboWindowPlugins.Items.IndexOf(item);
109                      break;                      break;
110                  }                  }
# Line 105  namespace RomCheater Line 114  namespace RomCheater
114    
115          private void load_loggerflags()          private void load_loggerflags()
116          {          {
117              logger.Info.WriteLine("  Loading logger flags...");              gLog.Info.WriteLine("  Loading logger flags...");
             loggerflags logflags = Logging.Properties.Settings.Default.LoggingFlags;  
118    
119              if (logflags != logger.GetLoggingFlags())              bool upgraded_flags = Convert.ToBoolean(LoggingettingsSubscriber.GetValue("UpgradedLogLevel"));
120              {              object o_flags = null;
121                  logflags = logger.GetLoggingFlags(); // we apparently have forced the logging flags (possible for testing)              if (!upgraded_flags)
122                {
123                    o_flags = new LoggingFlagsConverter(Logging.Properties.Settings.Default.LoggingFlags).ConvertFlags();
124                    LoggingettingsSubscriber.SetValue("UpgradedLogLevel", true);
125                    LoggingettingsSubscriber.SetValue("gLogLoggingFlags", Convert.ToUInt32(o_flags));
126                    LoggingettingsSubscriber.SaveSettings();
127              }              }
128                o_flags = LoggingettingsSubscriber.GetValue("gLogLoggingFlags");
129                LogLevel log_level = (LogLevel)o_flags;
130  #if DISABLE_VERBOSE_DEBUG_MESSAGES_FOR_SPEED_BOOST  #if DISABLE_VERBOSE_DEBUG_MESSAGES_FOR_SPEED_BOOST
131              lFlags = logflags;        gLog.SetLogLevel(log_level & ~LogLevel.kLogLevel_Verbose);      
             ushort pflags = lFlags.Value;  
             if (lFlags.HasFlag(loggerflags.VERBOSE_DEBUG))  
             {  
                 pflags = lFlags.Value;  
                 pflags = (ushort)(lFlags.Value & ~loggerflags.VERBOSE_DEBUG.Value);  
                 logger.SetLoggingFlags(pflags);  
             }  
132  #endif  #endif
133              var logger_flags = loggerflags.GetValues();              foreach (LogLevel t in Enum.GetValues(typeof(LogLevel)))
   
             foreach (loggerflags flags in logger_flags)  
134              {              {
135                  if (flags == loggerflags.ALL ||                  if (t == LogLevel.kLogLevel_All ||
136                      flags == loggerflags.NONE ||                          t == LogLevel.kLogLevel_Disable ||
137                      flags == loggerflags.DEFAULT)                          t == LogLevel.kLogLevel_None ||
138                            t == LogLevel.kLogLevel_All_NoProgress ||
139                            t == LogLevel.kLogLevel_All_NoProfiler ||
140                            t == LogLevel.kLogLevel_All_NoProfilerOrProgress ||
141                            t == LogLevel.kLogLevel_Default ||
142                            t == LogLevel.kLogLevel_Verbose)
143                    {
144                      continue;                      continue;
145                    }
                 string name = flags.Name;  
                 ushort value = (ushort)flags;  
   
146                  CheckBox chkloggerflags = new CheckBox();                  CheckBox chkloggerflags = new CheckBox();
147                  chkloggerflags.Font = this.Font;                  chkloggerflags.Font = this.Font;
148                    string name = Enum.GetName(typeof(LogLevel), t).Replace("kLogLevel_", "");
149                    LogLevel value = t;
150                  chkloggerflags.Name = name;                  chkloggerflags.Name = name;
151                  chkloggerflags.Text = name;                  chkloggerflags.Text = name;
152                  chkloggerflags.Tag = value;                  chkloggerflags.Tag = value;
153                  Graphics g = chkloggerflags.CreateGraphics();                  Graphics g = chkloggerflags.CreateGraphics();
   
154                  Size size = g.MeasureString(chkloggerflags.Text, chkloggerflags.Font).ToSize();                  Size size = g.MeasureString(chkloggerflags.Text, chkloggerflags.Font).ToSize();
155                  chkloggerflags.Width = size.Width + 25;                  chkloggerflags.Width = size.Width + 25;
   
156                  grpLoggingFlags_flow.Controls.Add(chkloggerflags);                  grpLoggingFlags_flow.Controls.Add(chkloggerflags);
157                  logger.VerboseDebug.WriteLine("\tAdding logger flag: {0} value: 0x{1:x4}", name, value);                  if (log_level.HasFlag(t))
                 if (logflags.HasFlag(value))  
158                  {                  {
159                      chkloggerflags.Checked = true;                      chkloggerflags.Checked = true;
160                      logger.VerboseDebug.WriteLine("\tTurning on logger flag: {0} value: 0x{1:x4}", name, value);                      gLog.Verbose.Debug.WriteLine("\tTurning on logger flag: {0} value: 0x{1:x4}", name, (uint)value);
161                  }                  }
162              }              }
163              //grpLoggingFlags.AutoSize = true;              //grpLoggingFlags.AutoSize = true;
164              //grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;              //grpLoggingFlags.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
165              logger.Info.WriteLine("  Loaded logger flags.");  
166                gLog.Info.WriteLine("  Loaded logger flags.");
167          }          }
168          private void btnSave_Click(object sender, EventArgs e)          private void btnSave_Click(object sender, EventArgs e)
169          {          {
170              logger.Info.WriteLine("Saving user settings...");              gLog.Info.WriteLine("Saving user settings...");
171              SaveSettings();              SaveSettings();
172              this.Close();              this.Close();
173          }          }
# Line 170  namespace RomCheater Line 179  namespace RomCheater
179          {          {
180              SaveLoggingFlags();              SaveLoggingFlags();
181              SaveSelectedPlugins();              SaveSelectedPlugins();
182              RomCheater.Properties.Settings.Default.Save();              MainSettingsSubscriber.SaveSettings();
183              Logging.Properties.Settings.Default.Save();              LoggingettingsSubscriber.SaveSettings();
184              logger.Info.WriteLine("Saved user settings.");              //RomCheater.Properties.Settings.Default.Save();
185                //Logging.Properties.Settings.Default.Save();
186                gLog.Info.WriteLine("Saved user settings.");
187          }          }
188          private void SaveSelectedPlugins()          private void SaveSelectedPlugins()
189          {          {
190              logger.VerboseDebug.WriteLine("    Setting LastConfigPlugin to {0}", comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString());              gLog.Verbose.Debug.WriteLine("    Setting LastConfigPlugin to {0}", comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString());
191              RomCheater.Properties.Settings.Default.LastConfigPlugin = comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString();              MainSettingsSubscriber.SetValue("LastConfigPlugin",comboConfigPlugins.Items[comboConfigPlugins.SelectedIndex].ToString());
192              logger.VerboseDebug.WriteLine("    Setting LastInputPlugin to {0}", comboInputPlugins.Items[comboInputPlugins.SelectedIndex].ToString());  
193              RomCheater.Properties.Settings.Default.LastInputPlugin = comboInputPlugins.Items[comboInputPlugins.SelectedIndex].ToString();              gLog.Verbose.Debug.WriteLine("    Setting LastInputPlugin to {0}", comboInputPlugins.Items[comboInputPlugins.SelectedIndex].ToString());            
194              logger.VerboseDebug.WriteLine("    Setting LastWindowPlugin to {0}", comboWindowPlugins.Items[comboWindowPlugins.SelectedIndex].ToString());              MainSettingsSubscriber.SetValue("LastInputPlugin", comboInputPlugins.Items[comboInputPlugins.SelectedIndex].ToString());
195              RomCheater.Properties.Settings.Default.LastWindowPlugin = comboWindowPlugins.Items[comboWindowPlugins.SelectedIndex].ToString();  
196                gLog.Verbose.Debug.WriteLine("    Setting LastWindowPlugin to {0}", comboWindowPlugins.Items[comboWindowPlugins.SelectedIndex].ToString());            
197                MainSettingsSubscriber.SetValue("LastWindowPlugin", comboWindowPlugins.Items[comboWindowPlugins.SelectedIndex].ToString());
198          }          }
199          private void SaveLoggingFlags()          private void SaveLoggingFlags()
200          {          {
201              logger.Debug.WriteLine("Saving Logger flags...");              gLog.Debug.WriteLine("Saving Logger flags...");
202              ushort logflags = loggerflags.NONE;              LogLevel logflags = LogLevel.kLogLevel_None;
203              foreach (CheckBox cb in grpLoggingFlags_flow.Controls)              foreach (CheckBox cb in grpLoggingFlags_flow.Controls)
204              {              {
205                  if (!cb.Checked) continue;                  if (!cb.Checked) continue;
206                  ushort value = Convert.ToUInt16(cb.Tag);                  uint value = Convert.ToUInt32(cb.Tag);
207                  logflags = (ushort)(logflags | value);                  logflags = logflags | (LogLevel)value;
208                  logger.VerboseDebug.WriteLine("\tAdding flag: {0} value: 0x{1:x4} LoggingFlags=0x{2:x4}", cb.Text, value, (int)logflags);                                  gLog.Verbose.Debug.WriteLine("\tAdding flag: {0} value: 0x{1:x8} LoggingFlags=0x{2:x4}", cb.Text, value, (int)logflags);
209              }              }
210              Logging.Properties.Settings.Default.LoggingFlags = (ushort)logflags;  
211              logger.Debug.WriteLine("Saved Logger flags.");              LoggingettingsSubscriber.SetValue("gLogLoggingFlags", (uint)logflags);
212                gLog.Debug.WriteLine("Saved Logger flags.");
213          }          }
214    
215          private void RomCheaterConfigDialog_FormClosing(object sender, FormClosingEventArgs e)          private void RomCheaterConfigDialog_FormClosing(object sender, FormClosingEventArgs e)

Legend:
Removed from v.692  
changed lines
  Added in v.817

  ViewVC Help
Powered by ViewVC 1.1.22