コード例 #1
0
ファイル: FrmOptions.cs プロジェクト: ewin66/taskbartimer
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="options">Existing additional options</param>
 public FrmOptions(TimerOptions options)
 {
     InitializeComponent();
     Icon = IconContainer.AppIcon;
     txtTimerText.Text         = options.TimerName;
     checkDisableSound.Checked = options.DisableSound;
 }
コード例 #2
0
 /// <summary>
 /// Shows a dialog for configuring additional options
 /// </summary>
 private void ConfigureOptions()
 {
     using (FrmOptions frm = new FrmOptions(_options ?? TimerOptions.Default)) {
         if (frm.ShowDialog() == DialogResult.OK)
         {
             _options = frm.TimerOptions;
         }
     }
 }
コード例 #3
0
ファイル: FrmOptions.cs プロジェクト: ewin66/taskbartimer
        /// <summary>
        /// Closes the form and reads the addidional options
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOk_Click(object sender, EventArgs e)
        {
            string timerName = txtTimerText.Text.Trim();

            if (timerName == string.Empty)
            {
                timerName = "Taskbar Timer";
            }
            _options = new TimerOptions(timerName, checkDisableSound.Checked);
        }
コード例 #4
0
ファイル: FrmMain.cs プロジェクト: ewin66/taskbartimer
        /// <summary>
        /// Constructor. Initializes a new instance of the main form
        /// </summary>
        /// <param name="minutes">Number of minutes after which the timer elapses</param>
        /// <param name="elapsedMinutes">Number of minutes already elapsed</param>
        /// <param name="options">Additional options for the timer</param>
        public FrmMain(int minutes, int elapsedMinutes, TimerOptions options)
        {
            _totalMinutes = minutes;
            _options      = options ?? TimerOptions.Default;

            _totalMilliseconds = minutes * MILLIS_IN_MINUTE;
            _timeLeft          = new TimeSpan(0, minutes - elapsedMinutes, 0);

            InitializeComponent();

            Icon                = IconContainer.AppIcon;
            GetPeekBitmap      += OnGetPeekBitmap;
            GetIconicThumbnail += OnGetIconicThumbnail;
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: ewin66/taskbartimer
 /// <summary>
 /// Tries to parse the timer options from program arguments
 /// </summary>
 /// <param name="args">Program arguments</param>
 /// <param name="options">Timer options</param>
 /// <param name="minutes">Minutes for the timer, or -1 if it's not set</param>
 /// <returns>Whether the options have been successfully parsed</returns>
 private static bool TryParseTimerOptionsFromArgs(ICollection <string> args, TimerOptions options, out int minutes)
 {
     minutes = -1;
     if (args.Count > 0)
     {
         foreach (string arg in args)
         {
             if (arg.StartsWith("-minutes="))
             {
                 int.TryParse(arg.Split('=')[1], out minutes);
             }
             else if (arg.StartsWith("-name="))
             {
                 options.TimerName = arg.Split('=')[1];
             }
         }
     }
     return(minutes > 0);
 }
コード例 #6
0
ファイル: Program.cs プロジェクト: ewin66/taskbartimer
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            // Check wether we are running on Windows 7
            if (!TaskbarManager.IsPlatformSupported)
            {
                MessageBox.Show("This program requires Windows 7", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            int          minutes;
            TimerOptions options = TimerOptions.Default;

            if (!TryParseTimerOptionsFromArgs(args, options, out minutes))
            {
                using (TimerTaskDialog dialog = new TimerTaskDialog()) {
                    if (dialog.Show() != TaskDialogResult.CustomButtonClicked)
                    {
                        return;
                    }
                    minutes = dialog.Minutes;
                    options = dialog.TimerOptions;
                }
                if (minutes < 0)
                {
                    using (FrmOtherTime frm = new FrmOtherTime()) {
                        if (frm.ShowDialog() != DialogResult.OK)
                        {
                            return;
                        }
                        minutes = frm.Minutes;
                    }
                }
            }

            if (minutes > 0)
            {
                Application.Run(new FrmMain(minutes, 0, options));
            }
        }