Beispiel #1
0
        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);
        }
Beispiel #2
0
        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;
            }
        }