private Screensaver(Actions action, bool readOnly, IntPtr[] hwnds) {
#if (DEBUG)
this.debugLog = new List<string>();
#endif
this.version = new Version(Application.ProductVersion);
this.readOnly = readOnly;
this.action = action;
this.hwnds = hwnds;
this.config = new Config(this);
this.config.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.PreviewKeyDown);
this.config.browser.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.PreviewKeyDown);
this.config.browser.Navigate(new Uri(Constants.getDataFolder(Constants.ConfigHtmlFile)));
this.config.browser.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.config.ConfigDocumentCompleted);
if (this.action == Actions.Config) this.config.Show();
else {
if (this.action != Actions.Wallpaper) {
this.mouseMoveTimer = new System.Windows.Forms.Timer();
this.mouseMoveTimer.Interval = 1500;
this.mouseMoveTimer.Tick += mouseMoveTimer_Tick;
}
}
// Wait for config document to load to complete initialisation: Config.ConfigDocumentCompleted()
}