Example #1
0
        private void TimerPopup_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                BLIO.Log("TimerPopup enter pressed");
                timerMinutes         = 0;
                lblErrorText.Visible = false;

                UCTimer ucTimer = Form1.Instance.ucTimer;

                try
                {
                    if (tbTime.Text.ToLower().Contains('h'))
                    {
                        BLIO.Log("timer popup contains 'h'. Checking what's before it");

                        //Text without the 'm'. We know the number after 'h' is in minutes, no need to keep it in the string
                        string tbText = tbTime.Text.Replace("m", "");

                        //Get the index number of the 'h' in the text
                        int index = tbTime.Text.ToLower().IndexOf('h');

                        //Now get all the text before it(should be a numer) and multiply by 60 because the user input hours
                        BLIO.Log("Parsing hours....");
                        timerMinutes += Convert.ToInt32(tbTime.Text.Substring(0, index)) * 60;

                        //Now get the number after the 'h' , which should be minutes, and add it to timerMinutes
                        //But, first check if there is actually something after the 'h'

                        if (tbText.Length > index + 1)//+1 because .Length starts from 1, index starts from 0
                        {
                            BLIO.Log("Parsing minutes....");
                            timerMinutes += Convert.ToInt32(tbText.Substring(index + 1, tbText.Length - (index + 1)));
                        }
                    }
                    else
                    {
                        timerMinutes = Convert.ToInt32(tbTime.Text);
                    }

                    if (timerMinutes <= 0 || timerMinutes >= 1440) //<= 0 OR >= 24 hours(1 day), return. If you want to set a quick timer for more than a day, maybe set a reminder instead..
                    {
                        lblErrorText.Visible = true;
                        lblErrorText.Text    = "Invalid input time. (up to 24 hours)";
                        return;
                    }
                }
                catch (Exception ex)
                {
                    lblErrorText.Visible = true;
                    lblErrorText.Text    = "Invalid input";
                    return;
                }



                BLIO.Log("Success. (" + timerMinutes + "minutes ) Creating timespan.");

                TimeSpan time = TimeSpan.FromMinutes(timerMinutes);

                BLIO.Log("Setting values of (UCTimer) numericupdowns");
                ucTimer.numSeconds.Value = Math.Ceiling((decimal)time.Seconds / 60);

                ucTimer.numMinutes.Value = Math.Ceiling((decimal)time.Minutes % 60);

                ucTimer.numHours.Value = Math.Ceiling((decimal)time.Hours);

                ucTimer.timerNote = tbNote.Text;

                BLIO.Log("Values set");

                ucTimer.AddTimer(timerMinutes * 60, tbNote.Text);


                //ucTimer.ToggleTimer();

                BLIO.Log("Timer started");

                this.Dispose();
            }
        }
Example #2
0
        private void TimerPopup_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                BLIO.Log("TimerPopup enter pressed");
                timerMinutes         = 0;
                lblErrorText.Visible = false;



                try
                {
                    //the "m" part of the input is unnecesary. If the input is 2h15m,
                    //then 2h15 would produce the same output. 15m would also be the same as 15, since there is no 'h' present.
                    tbTime.Text = tbTime.Text.ToLower().Replace("m", "");

                    if (tbTime.Text.ToLower().Contains('h'))
                    {
                        BLIO.Log("timer popup contains 'h'. Checking what's before it");

                        //Get the index number of the 'h' in the text
                        int index = tbTime.Text.ToLower().IndexOf('h');

                        //Now get all the text before it(should be a numer) and multiply by 60 because the user input hours
                        BLIO.Log("Parsing hours....");
                        timerMinutes += Convert.ToInt32(tbTime.Text.Substring(0, index)) * 60;

                        //Now get the number after the 'h' , which should be minutes, and add it to timerMinutes
                        //But, first check if there is actually something after the 'h'

                        if (tbTime.Text.Length > index + 1)//+1 because .Length starts from 1, index starts from 0
                        {
                            BLIO.Log("Parsing minutes....");
                            timerMinutes += Convert.ToInt32(tbTime.Text.Substring(index + 1, tbTime.Text.Length - (index + 1)));
                        }
                    }
                    else
                    {
                        timerMinutes = Convert.ToInt32(tbTime.Text);
                    }

                    if (timerMinutes <= 0)
                    {
                        lblErrorText.Visible = true;
                        lblErrorText.Text    = "Invalid input time";
                        return;
                    }
                }
                catch
                {
                    lblErrorText.Visible = true;
                    lblErrorText.Text    = "Invalid input";
                    return;
                }



                BLIO.Log("Success. (" + timerMinutes + "minutes ) Creating timespan.");

                TimeSpan time = TimeSpan.FromMinutes(timerMinutes);

                UCTimer ucTimer = Form1.Instance.ucTimer;

                BLIO.Log("Setting values of (UCTimer) numericupdowns");

                ucTimer.numSeconds.Value = Math.Ceiling((decimal)time.Seconds / 60);
                ucTimer.numMinutes.Value = Math.Ceiling((decimal)time.Minutes % 60);
                ucTimer.numHours.Value   = Math.Ceiling((decimal)time.Hours);
                ucTimer.timerNote        = tbNote.Text;

                BLIO.Log("Values set");

                ucTimer.AddTimer(timerMinutes * 60, tbNote.Text);

                //ucTimer.ToggleTimer();

                BLIO.Log("Timer started");



                this.Close();
            }
        }