private bool ValidateUsername(bool showDialog) { foreach (mod_base usageModule in loadedModules) { Match match = Regex.Match(Textbox_Username.Text, usageModule.validUsernameRegex, RegexOptions.IgnoreCase); if (match.Success) { Registry.CurrentUser.CreateSubKey("SOFTWARE\\CapSavvy").SetValue("username", Textbox_Username.Text, RegistryValueKind.String); usageInfo = usageModule; Timer_Update.Interval = usageInfo.interval * 1000; usageInfo.Username = Textbox_Username.Text; Label_format.Text = usageModule.moduleName; return(true); } } if (showDialog) { MessageBox.Show("Invalid username", appName); } usageInfo = new mod_default(usage); Timer_Update.Interval = usageInfo.interval * 1000; Label_format.Text = usageInfo.moduleName; return(false); }
public CapSavvy() { // Override culture Thread.CurrentThread.CurrentCulture = new CultureInfo("en-ca"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-ca"); InitializeComponent(); updateWorker.DoWork += new DoWorkEventHandler(UpdateWork); updateWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(UpdateCompleted); sysTray = new SysTrayGraphics(sysTrayIcon); // Define the modules, order counts! If one does't match it falls through to the next, teksavvy is the catchall. loadedModules = new mod_base[] { new mod_ebox_res_dsl(usage), new mod_ebox_bus_dsl(usage), new mod_videotron_tpia(usage), new mod_caneris_dsl(usage), new mod_start_fdsl(usage), new mod_start_fcable(usage), new mod_start_fwireless(usage), new mod_start_wdsl(usage), new mod_start_wcable(usage), new mod_start_wwireless(usage), new mod_teksavvy(usage) }; usageInfo = new mod_default(usage); Timer_Update.Interval = usageInfo.interval * 1000; Timer_Update.Enabled = true; this.Text = appName; // Get text colour value from registry int?colour = Registry.CurrentUser.CreateSubKey("SOFTWARE\\CapSavvy").GetValue("colour") as int?; if (colour.HasValue) { sysTray.foreColour = Color.FromArgb(colour.Value); Text_Colour.ForeColor = sysTray.foreColour; } else { sysTray.foreColour = Color.White; Text_Colour.ForeColor = Color.White; } // Get back colour value from registry colour = Registry.CurrentUser.CreateSubKey("SOFTWARE\\CapSavvy").GetValue("backColour") as int?; if (colour.HasValue) { sysTray.backColour = Color.FromArgb(colour.Value); Text_Colour.BackColor = sysTray.backColour; } else { sysTray.backColour = Color.Black; Text_Colour.BackColor = Color.Black; } // Get the transparent value int?transparent = Registry.CurrentUser.CreateSubKey("SOFTWARE\\CapSavvy").GetValue("transparent") as int?; if (transparent.HasValue) { Checkbox_Transparent.Checked = Convert.ToBoolean(transparent); sysTray.transparent = Convert.ToBoolean(transparent); Checkbox_Transparent_CheckedChanged(null, null); } else { Checkbox_Transparent.Checked = true; sysTray.transparent = true; Checkbox_Transparent_CheckedChanged(null, null); } UpdateDisplay(); // Trigger the startup display // Get view from registry int?view = Registry.CurrentUser.CreateSubKey("SOFTWARE\\CapSavvy").GetValue("view") as int?; switch (view) { case 0: RadioButton_TotalPredicted.Checked = true; break; case 1: RadioButton_UpDown.Checked = true; break; case 2: RadioButton_Total.Checked = true; break; case 3: RadioButton_DownUp.Checked = true; break; case 4: RadioButton_DownPredicted.Checked = true; break; case 5: RadioButton_Down.Checked = true; break; default: RadioButton_TotalPredicted.Checked = true; break; } // Get viewUsage (total/peak) from registry int?viewUsage = Registry.CurrentUser.CreateSubKey("SOFTWARE\\CapSavvy").GetValue("viewUsage") as int?; if (viewUsage.HasValue) { Checkbox_Peak.Checked = Convert.ToBoolean(viewUsage); } else { Checkbox_Peak.Checked = false; } // Get username from registry string username = Registry.CurrentUser.CreateSubKey("SOFTWARE\\CapSavvy").GetValue("username") as string; if (!string.IsNullOrEmpty(username)) { Textbox_Username.Text = username.ToString(); if (!GetUpdate()) { this.WindowState = FormWindowState.Normal; } } else { this.WindowState = FormWindowState.Normal; } }