/// <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; }
/// <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; } } }
/// <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); }
/// <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; }
/// <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); }
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)); } }