VixenModules.Editor.TimedSequenceEditor.MarkManager.buttonAddOrUpdateMark_Click C# (CSharp) Method

buttonAddOrUpdateMark_Click() private method

private buttonAddOrUpdateMark_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private void buttonAddOrUpdateMark_Click(object sender, EventArgs e)
        {
            TimeSpan time;
            bool success = TimeSpan.TryParseExact(textBoxTime.Text, TimeFormats.PositiveFormats, null, out time);
            if (success) {
                if (buttonAddOrUpdateMark.Text == "Update") {
                    // updating an existing item, find it, remove it, and add the new one
                    if (listViewMarks.SelectedItems.Count != 1)
                        Vixen.Sys.VixenSystem.Logging.Error("MarkManager: updating a mark, but there are " + listViewMarks.SelectedItems.Count + " items selected!");
                    if (listViewMarks.SelectedItems.Count > 0)
                    _displayedCollection.Marks.Remove((TimeSpan)listViewMarks.SelectedItems[0].Tag);
                }

                if (_displayedCollection.Marks.Contains(time)) {
                    System.Media.SystemSounds.Asterisk.Play();
                } else {
                    _displayedCollection.Marks.Add(time);
                    _displayedCollection.Marks.Sort();
                    PopulateMarkListFromMarkCollection(_displayedCollection);
                    UpdateMarkCollectionInList(_displayedCollection);
                }
            } else {
                MessageBox.Show("Error parsing time: please use the format '<minutes>:<seconds>.<milliseconds>'", "Error parsing time");
            }
        }