- get { return string.IsNullOrEmpty(currentMode) ? string.Empty : currentMode; }\r
- set { currentMode = value; }\r
+ if (IsHandleCreated)\r
+ {\r
+ if (rtf_actLog.InvokeRequired)\r
+ {\r
+ IAsyncResult invoked = BeginInvoke(new SetModeCallback(SetMode), new object[] {setMode});\r
+ EndInvoke(invoked);\r
+ }\r
+ else\r
+ {\r
+ Reset();\r
+ this.mode = setMode;\r
+\r
+ Array values = Enum.GetValues(typeof(ActivityLogMode));\r
+ Properties.Settings.Default.ActivityWindowLastMode = (int) values.GetValue(Convert.ToInt32(setMode));\r
+ Properties.Settings.Default.Save();\r
+\r
+ this.Text = mode == ActivityLogMode.Scan\r
+ ? "Activity Window (Scan Log)"\r
+ : "Activity Window (Encode Log)";\r
+\r
+ if (mode == ActivityLogMode.Scan)\r
+ {\r
+ scan.ScanCompleted += stopWindowRefresh;\r
+ encode.EncodeEnded -= stopWindowRefresh;\r
+ }\r
+ else\r
+ {\r
+ scan.ScanCompleted -= stopWindowRefresh;\r
+ encode.EncodeEnded += stopWindowRefresh;\r
+ }\r
+\r
+ // Start a fresh window timer\r
+ windowTimer = new Timer(new TimerCallback(LogMonitor), null, 1000, 1000);\r
+ }\r
+ }\r