private void TimersGridViewDeleteItem_Click(object sender, EventArgs e) { List <int> deleteables = new List <int>(); foreach (ListViewItem _i in timersDataGridView.SelectedRows) { deleteables.Add(_i.Index); } timersDataGridView.ClearSelection(); string message = "Confirm deletion of {0}"; string caption = Application.ProductName + "Delete {0}"; timersDataGridView.ClearSelection(); foreach (int index in deleteables) { Rows[index].Selected = true; string timerName = Rows[index].TimerCanonicalName(); if (AnswerYesNo(string.Format(message, timerName), string.Format(caption, timerName)) == DialogResult.Yes) { SingleTimerLib.SingleTimer _t = TimersList[timerName]; _t.PropertyChanged -= SingleTimer_PropertyChanged; _t.SingleTimerChanged -= SingleTimer_SingleTimerChanged; _t.TimerReset -= SingleTimer_OnTimerReset; TimersList.Remove(timerName); timersDataGridView.Rows.RemoveAt(index); } timersDataGridView.ClearSelection(); } }
private void QueryUserRenameTimer(int rowIndex) { string oldname = Rows[rowIndex].TimerCanonicalName(); string newname = GetTimerName("Specify as new name:", "Rename Timer", oldname); if (newname == "Cancel") { return; } if (newname == oldname) { return; } SingleTimerLib.SingleTimer _t = TimersList[oldname]; if (_t != null) { TimerName2RowIndexDictionary.Remove(_t.Name); TimersList.Remove(_t.Name); TimerName2RowIndexDictionary.Add(newname, _t.RowIndex); _t.ReNameTimer(newname); } else { Rows.RemoveAt(rowIndex); TimerName2RowIndexDictionary.Remove(oldname); TimersList.Remove(oldname); } }
private void DoClose() { _isClosing = true; Properties.Settings.Default.Save(); List <string> listOfKeys = new List <string>(); foreach (string _k in TimersList.Keys) { listOfKeys.Add(_k); } foreach (string name in listOfKeys) { SingleTimerLib.SingleTimer _t = TimersList[name]; _t.PropertyChanged -= SingleTimer_PropertyChanged; _t.SingleTimerChanged -= SingleTimer_SingleTimerChanged; _t.TimerReset -= SingleTimer_OnTimerReset; _t.StopTimer(); TimersList.Remove(_t.CanonicalName); TimerName2RowIndexDictionary.Remove(_t.CanonicalName); DebugPrint(string.Format("Timer {0} is being is about to be disposed!", _t.Name)); _t.Dispose(); } WriteDataToXml(); listOfKeys.Clear(); listOfKeys = null; Hide(); jobTimersIcon.Visible = false; FormClosing -= JobTimerForm_FormClosing; Close(); Application.Exit(); }
private void TreadSafeDeleteDataGridViewRows() { if (timersDataGridView.InvokeRequired) { timersDataGridView.Invoke(new Action(TreadSafeDeleteDataGridViewRows)); return; } foreach (DataGridViewRow _dr in timersDataGridView.SelectedRows) { string name = timersDataGridView.CurrentRow.TimerCanonicalName(); SingleTimerLib.SingleTimer _t = TimersList[name]; _t.SingleTimerChanged -= SingleTimer_SingleTimerChanged; _t.PropertyChanged -= SingleTimer_PropertyChanged; _t.TimerReset -= SingleTimer_OnTimerReset; _t.StopTimer(); Debug.Assert(_t.CanonicalName == Timers.Rows[_t.RowIndex].TimerCanonicalName()); Timers.Rows.RemoveAt(_t.RowIndex); Timers.AcceptChanges(); ThreadSafeUpdateDataGridView(); TimerName2RowIndexDictionary.Remove(name); TimersList.Remove(name); _t.Dispose(); } }
private void RemoveSelectedTimer() { _handler.RemoveTimerFromDatabase(SelectedTimer); TimersList.Remove(SelectedTimer); SelectedTimer = null; }